Objective-c初始化属性

时间:2012-11-13 15:45:37

标签: objective-c cordova initialization

我的2.0.1 phonegap应用程序我在MainViewController中添加了一个属性

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

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

test = @"test";

这样可以正常工作,但是我看到有些人做了以下操作来初始化那些属性:

test = [[NSString alloc] init];

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

什么是正确的方法?

1 个答案:

答案 0 :(得分:1)

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

  

我认为@property已经被分配给了   内存并初始化为字符串已经没有必要完成所有操作   那个o.0:S?

如上所述,成员变量(包括由属性合成的变量)将设置为默认值,在这种情况下为nil