0

我是我的 2.0.1 phonegap 应用程序,我向 MainViewController 添加了一个属性

@property (nonatomic, readwrite, copy) NSString* test;

然后我在 initWithNibName 方法中初始化属性,就像 phonegap 建议的那样。

test = @"test";

这很好用,但是我看到有些人执行以下操作来初始化那里的属性:

test = [[NSString alloc] init];

我认为@property 已经被分配到内存并已经初始化为字符串,所以不需要做所有这些 o.0 :S?

正确的方法是什么?

4

1 回答 1

1

要正确初始化您应该使用的属性self.test = @"test"。使用[[NSString alloc] init];是绝对没有意义的,任何人都没有理由这样做。如果你想要一个空字符串而不是nil类类型的成员变量(和综合属性)的默认值,你可以简单地将 test 设置为@"", self.test = @""

我认为@property 已经被分配到内存并已经初始化为字符串,所以不需要做所有这些 o.0 :S?

正如我上面提到的,成员变量,包括那些由属性合成的,将被设置为它们的默认值,nil在这种情况下。

于 2012-11-13T15:50:36.837 回答