我appController
在viewController
<{1}}致电viewDidLoad
@implementation viewController
- (void)viewDidLoad { [super viewDidLoad];
NSLog(@"viewDidLoad");
[appController initialize];
}
@end
@implementation appController
+ (void)initialize {
NSLog(@"initialize");
}
@end
我希望initialize
执行一次。但是,正如在控制台中看到的那样,它被执行了两次。
这是一个错误还是我错过了什么?
答案 0 :(得分:4)
+(void)initialize是第一次引用类时由Objective-C运行时调用的方法。
你永远不应该自己打电话,永远不要打电话给超级。
如果您希望在数据控制器上执行设置,请覆盖init。