我的困惑来自下面的代码。主要区别是什么,何时使用第一个例子而不是另一个例子?两者都创建对象,但我不明白它们的区别。
-(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];
答案 0 :(得分:1)
在第一个实例中,您正在指示类/子类关于如何在类/子类的实现(.m文件)中启动时的行为,而在第二个示例中,您正在将现有对象启动为变量
希望这会有所帮助。如果需要,我会很乐意进一步澄清。