[英]Objective-c Initialise Property
在我的2.0.1 phonegap應用程序中,我向MainViewController添加了一個屬性
@property (nonatomic, readwrite, copy) NSString* test;
然后,像phonegap建議的那樣,在initWithNibName方法中初始化屬性。
test = @"test";
效果很好,但是我看到有些人執行以下操作來初始化那里的屬性:
test = [[NSString alloc] init];
我以為@property應該已經分配給內存並已經初始化為字符串了,所以不需要做所有的o.0:S嗎?
什么是正確的方法?
要正確初始化屬性,您應該使用self.test = @"test"
。 使用[[NSString alloc] init];
是絕對沒有意義的,沒有任何人應該這樣做。 如果您想要一個空字符串而不是nil
(這是類類型的成員變量(和綜合屬性)的默認值),則只需將test設置為@""
, self.test = @""
。
我以為@property應該已經分配給內存並已經初始化為字符串了,所以不需要做所有的o.0:S嗎?
如上所述,成員變量(包括由屬性綜合的成員變量)將被設置為其默認值,在這種情況下nil
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.