在 C++ 中,对象可以删除自己,在 Objective-C 中调用 Dealloc 是不允许的,在 ARC 中,该类甚至可能没有 dealloc。
在 Objective-C 中是否会像有时在 C++ 中那样删除自己的对象?
在 C++ 中,对象可以删除自己,在 Objective-C 中调用 Dealloc 是不允许的,在 ARC 中,该类甚至可能没有 dealloc。
在 Objective-C 中是否会像有时在 C++ 中那样删除自己的对象?
释放内存并删除它?
[xyz release];
xyz=nil;
“删除这个”没有直接的等价物,因为 Objective-C 使用引用计数,当对象的引用数达到零时,系统将删除您的对象。如果你想实现某种“一次性”对象,即做某事然后删除自己,那么你最好的选择是在开始操作时增加对 self 的引用计数,[self retain]
并在结束时减少它[self release]
。如果没有其他人持有对您的对象的引用,则稍后将导致该对象自行删除。
将你的对象设置为 nil
obj = nil