2010-04-25 71 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