无法让NSDate正常工作

时间:2010-04-25 18:43:12

标签: iphone objective-c nsdate

有一个奇怪的问题,一定是我没看到的东西。

我在.h

中设置了一个变量
NSDate *checkIn;

@property (nonatomic, retain) NSDate *checkIn;

我在initWithNibName中将变量设置为今天的日期:

checkIn = [NSDate date];

我也合成了它。现在稍后在我的程序中,我用它来构建一个包含以下行的表格单元

cell.textLabel.text = [dateFormatter stringFromDate:checkIn];

此行杀死模拟器BAD_EXEC。如果我输入checkIn = [NSDate date];它上面,它工作正常。所以我认为当我在initWithNibName中设置变量时,该变量没有存储:

不知道为什么,因为我的字符串我以相同的方式从方法到方法都很好。我错过了什么?

1 个答案:

答案 0 :(得分:3)

使用

checkIn = [NSDate date];

是直接分配,因此在自动释放阶段释放。

您希望使用点符号来使用您的属性。

self.checkIn = [NSDate date];

这是利用属性属性(特别是保留)并防止将日期释放为0。