2010-04-25 72 views
1

有一个奇怪的问题,必须是我没有看到的东西。不能让NSDate正常工作

我成立了一个变量在.H

NSDate *checkIn; 

@property (nonatomic, retain) NSDate *checkIn; 

我设置一个变量,以今天的日期在initWithNibName:

checkIn = [NSDate date]; 

我也没有合成它。现在,后来在我的节目,我用它来建立一个TableCell的使用以下行

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

此行杀死模拟器,BAD_EXEC。如果我输入checkIn = [NSDate date];在它上面,它工作正常。所以我想这个变量并没有被存储在initWithNibName中:

不知道为什么,因为我的字符串我做同样的方式都工作正常方法。我错过了什么?

回答

3

使用

checkIn = [NSDate date];

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

您想通过使用点符号来使用您的财产。

self.checkIn = [NSDate date];

这是利用属性的属性(特别是保留),并防止日期被释放到0

+0

谢谢!就是这样。每天学些新东西。 :) – John 2010-04-25 18:49:10