我有两个NSStrings,那些也有属性,合成。是否需要发布这些对象?
答案 0 :(得分:3)
如果财产是复制或保留,则必须释放ivar。如果刚刚分配了值,则不得释放。
答案 1 :(得分:1)
是的!任何指针类型的东西属性和&合成应该被释放
答案 2 :(得分:0)
你是否应该致电释放实际上取决于。
如果你调用alloc + init,然后分配给属性,那么你必须释放。原因是alloc + init将引用计数增加1,因此您必须有相应的版本才能将引用计数返回到0.该版本应该在类的dealloc方法中。
但是,也可以在不调用alloc + init的情况下使用这些属性。那么通常你不必打电话给释放。例如,如果你使用self.property = [NSString stringWithFormat:@“...”],那么就没有必要调用release,实际上调用release会出错。
此外,您还可以决定自动释放对象,该对象告诉自动释放池稍后会自动释放对象。这是另一种不必手动释放对象的情况。