我在.h
中设置了一个变量NSDate *checkIn;
@property (nonatomic, retain) NSDate *checkIn;
我在initWithNibName中将变量设置为今天的日期:
checkIn = [NSDate date];
我也合成了它。现在稍后在我的程序中,我用它来构建一个包含以下行的表格单元
cell.textLabel.text = [dateFormatter stringFromDate:checkIn];
此行杀死模拟器BAD_EXEC。如果我输入checkIn = [NSDate date];它上面,它工作正常。所以我认为当我在initWithNibName中设置变量时,该变量没有存储:
不知道为什么,因为我的字符串我以相同的方式从方法到方法都很好。我错过了什么?
答案 0 :(得分:3)
使用
checkIn = [NSDate date];
是直接分配,因此在自动释放阶段释放。
您希望使用点符号来使用您的属性。
self.checkIn = [NSDate date];
这是利用属性属性(特别是保留)并防止将日期释放为0。