摘要:
#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad{ [super viewDidLoad]; ViewController *v = [[ViewController alloc] init];}-(id)init{ if (self = [super init]) { NSLog(@"ddddd"); } return self;}+(void)initialize{ NSLog... 阅读全文
posted @ 2014-02-21 15:48
chaoyuan
阅读(141)
评论(0)
推荐(0)
摘要:
在《Objective C类方法load和initialize的区别》一文中,我介绍了Objective-C对待+(void)initialize和+(void)load两个方法在编译和执行时出现的不同。而这些不同也是在使用时应该非常注意的地方。不过文章里面我没有讲这两个方法在Objective-C中究竟有什么实用价值。其实+(void)initialize可以视为C#,Java中的静态构造函数。有了这个方法,我们就不用像C++自己另找途径来设计静态构造函数了。不过Objective-C中又有一些很不同的地方,因为Objective-C里不能把数据成员限定为static或者const。也就是说 阅读全文
posted @ 2014-02-21 15:38
chaoyuan
阅读(83)
评论(0)
推荐(0)
摘要:
过去两个星期里,为了完成一个工作,接触到了NSObject中非常特别的两个类方法(Class Method)。它们的特别之处,在于iOS会在运行期提前并且自动调用这两个方法,而且很多对于类方法的规则(比如继承,类别(Category))都有不同的处理。而因为这两个方法是在程序运行一开始就被调用的方法,我们可以利用他们在类被使用前,做一些预处理工作。比如我碰到的就是让类自动将自身类名保存到一个NSDictionary中。先来看看NSObject Class Reference里对这两个方法说明:+(void)initializeThe runtime sendsinitializeto each 阅读全文
posted @ 2014-02-21 15:37
chaoyuan
阅读(143)
评论(0)
推荐(0)
浙公网安备 33010602011771号