簡體   English   中英

Objective-C初始化屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM