运行时中给一个对象绑定另外一个对象category中,如果想要添加一个属性,通常的做法是不可能的.我们都知道,category只能增加方法,不能增加属性.但在运行时中我们可以动态的绑定一个对象.有以下两个方法来绑定以及获取绑定的对象:objc_setAssociatedObject
Sets an ...
分类:
其他好文 时间:
2014-05-08 14:08:55
阅读次数:
280
容易发现Cocoa Foundation
中提供了一些可变参数的方法,如:NSLog(NSString *format, ...)
在实际的编程实践中,我们也需要自己实现可变参数的方法。在Objc中,是依靠原生C库来的实现的。请看示例: 1 - (void) doLog:(NSString
*)fo...
分类:
其他好文 时间:
2014-05-07 18:50:16
阅读次数:
312
序言如果我们在 Objective C
中向一个对象发送它无法处理的消息,会出现什么情况呢?根据前文《深入浅出Cocoa之消息》的介绍,我们知道发送消息是通过 objc_send(id, SEL,
...) 来实现的,它会首先在对象的类对象的 cache,method list 以及父类对象的 ca...
分类:
其他好文 时间:
2014-05-07 14:53:24
阅读次数:
562
【使用class-dump】
对于未加壳的Mach-O文件,class-dump可以从Mach-O的section中还原出objc代码的头文件。下面做一些关键演示,以及对关键问题进行说明。
1、标准用法:-H -O dirname。 -H将解析出的头文件写成文件。-O dirname指...
分类:
其他好文 时间:
2014-05-07 01:01:23
阅读次数:
376
如果我们在 Objective C 中向一个对象发送它无法处理的消息,会出现什么情况呢?我们知道发送消息是通过
objc_send(id, SEL, ...) 来实现的,它会首先在对象的类对象的 cache,method list 以及父类对象的 cache, method list 中依次查找 SEL 对应的 IMP;这个是需要对类对象的结构熟悉,不清楚的可以参考我的下一篇文章《object...
分类:
其他好文 时间:
2014-05-06 21:24:33
阅读次数:
450
UILabel是iOS开发中常用的一个组件,主要用来显示内容。UILabel的主要使用如下:```objc /*尺寸*/ CGRect labelRect =
CGRectMake(100, 100, 80, 40); /*初始化*/ UILabel *titleLabel = [[UILabel ...
分类:
移动开发 时间:
2014-05-05 10:23:04
阅读次数:
467
著作权声明:本文由http://www.cnblogs.com/icker原创,欢迎转载分享。转载时请保留该声明和作者博客链接,谢谢!
最近使用Unity3d制作的IOS游戏需要加入联网对战功能功能,因此使用ObjC语言利用IOS
SDK的GameKit.framework的Peer-to-pee....
分类:
移动开发 时间:
2014-05-02 14:14:11
阅读次数:
574
Class1 typedef struct objc_class *Class; 1 struct
objc_class { 2 Class isa OBJC_ISA_AVAILABILITY; 3 4 #if !__OBJC2__ 5 Class
super_class ...
分类:
移动开发 时间:
2014-05-01 07:13:10
阅读次数:
502
之前看objc.io #1 Light View Controllers看到一个很不错的技巧:从UITableViewController中分离数据源,这样可以减小UITableViewController的规模,同时也能让程序有一个比较好的架构。...
分类:
移动开发 时间:
2014-04-29 13:44:23
阅读次数:
416
网摘)OBJC 中的 protocol 相当于 java 里的接口,delagate
就是接口的实现类(C中的回调类似);数据源就是对象遵循了存储数据的协议,可以存储使用数据协议表示了方法可以被任何类所实现。协议本身不是类。他们只是简单定义了一个其他对象可以实现的接口。当你的类实现了协议中的某个方法...
分类:
其他好文 时间:
2014-04-28 10:54:44
阅读次数:
465