內存管理相關的我有的NSDate初始化的問題,在Objective-C
NSDate *date = [[NSDate alloc] init];
創建一個NSDate
對象後來,我想重置日期「現在」,所以我認爲
[date init];
或
date = [date init];
可能做的工作,但他們沒有。相反,
[date release];
date = [[NSDate alloc] init];
的作品。我對此有點困惑,因爲在- (id) init
的文檔中,它說:
返回一個初始化爲當前日期和時間的NSDate對象。
由於date
已分配,是不是隻需要一個init
消息?
日期是不變的,不能改變。如果你想現在的時間,你需要創建一個新的日期。請參閱Quinn的答案,具體如下:init。在任何給定的對象上多次調用init總是一個編程錯誤。 – 2009-08-06 19:39:19