If I miss a call to super's dealloc, is it explicitly added by the compiler or If I want to release something inherited from super class, I need an explicit call to super's dealloc in the end of my dealloc.
问问题
37 次
2 回答
1
如果您使用的是 ARC,则不能调用 super(我认为它无论如何都会产生错误),因为它会自动为您调用。如果你不使用 ARC,那么你必须调用 super。编译器不会为您执行此操作。
于 2013-07-28T09:41:32.340 回答
1
如果你使用ARC
,编译器会自动添加调用,[super dealloc]
如果你尝试,你会得到一个编译错误;
如果程序包含用于选择器 dealloc 的消息发送或 @selector 表达式,则该程序是格式错误的。
...
方法返回时将自动调用超类的dealloc实现。
如果您不使用 ARC,则需要自己添加。
于 2013-07-28T09:43:18.530 回答