@interface TestObject : NSObject - (instancetype)initWithTitle:(NSString *)title NS_DESIGNATED_INITIALIZER; @end @implementation TestObject - (id)init{ return [self initWithTitle:@""]; } - (instancetype)initWithTitle:(NSString *)title{ if (( self = [super init])) { } return self; } @end NS_DESIGNATED_INITIALIZER关键字 意思是最终被指定的初始化方法,在interface只能用一次而且必须以init开头的方法。 在m文件中,不管init或者其他的初始化方法都要调用上面的initWithTitle方法初始化,因为我么用到了NS_DESIGNATED_INITIALIZER关键字,不知道明白没? |
|