我的困惑來自下面的代碼。什麼是主要區別,什麼時候使用第一個例子而不是另一個?兩者都創建對象,但我不瞭解它們之間的差異。使用init與標準方式創建對象有什麼區別?
-(id)initWithCoder:(NSCoder *)aDecoder {
if ((self = [super init])) {
self.text = [aDecoder decodeObjectForKey:@"Text"];
self.checked = [aDecoder decodeBoolForKey:@"Checked"];
}
return self;
}
比說:
NSString *string = [[NSString alloc] init];
第一個是特定init方法的實現。第二個是調用一個不同的,更簡單的init方法。首先是初始化對象。第二個要求被調用者初始化對象。 –
問題的標題有點混淆 - 'init'是我的標準方式,我會說。 – Monolo
你問什麼'initWithCoder:'是什麼? –