我对Objective-c很新,我有一个问题。可以重用我们分配的NSString_class吗?
NSString_class = [NSString alloc]
重复使用:
str1 = [NSString_class initWithUTF8String: @"blah"]
str2 = [NSString_class initWithUTF8String: @"blah"]
并发布我不必释放NSString_class吗?只是str1和str2?
[str1 release]
[str2 release]
答案 0 :(得分:2)
有几件事......
将alloc
和init
分成两个不同的步骤是非常不寻常的。
您的变量命名也具有误导性。从分配实例中获得的东西是您分配给指针的对象;它不是“......类”。
话虽如此,你曾经称alloc
一次,这意味着你只有一个对象。如果您更改其属性以使str2
指向您想要的字符串,那么您也已将其更改为str1
。
此外,一个alloc
表示保留计数为+1,导致两个release
不正确。