objective-c - 这两种 dealloc 方法有什么区别?

标签 objective-c memory-management dealloc

所以我重写了 dealloc 方法,因为该对象是由另一个对象组成的复合对象。

我最初有这个 dealloc 方法:

-(id) dealloc; // Override to release the Rectangle object’s memory 
{
    [rect release];
    [super dealloc];
    return self;
}

看了书后看到了另一个答案:

{
   [rect release];
   return [super dealloc];
}

只是想知道两者是否同样有效。

谢谢,

尼克

最佳答案

他们都错了。 dealloc 返回 void,而不是 id:

- (void) dealloc {
  [rect release];
  [super dealloc];
}

关于objective-c - 这两种 dealloc 方法有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2021704/

相关文章:

iphone - 如果该部分为空,是否有任何正确的方法可以从 CGPoint 确定表中的部分编号?

objective-c - -[NSArray lastObject] 是否记录为返回自动释放的对象?

Cocoa NSWindowController 和 NSWindow 未解除分配

ios - 这个 iOS 应用程序使用分段控制吗?

ios - unregisterForRemoteNotifications 不适用于 iOS8 - 推送通知

objective-c - UIAlertController:supportedInterfaceOrientations 被递归调用

c++ - 任何更快/可靠地分配多个小块而不是 1 个大块

memory-management - 在 D 中,一个对象是否有可能在内部持有一个成员对象?

swift - 如果一个函数返回一个 UnsafeMutablePointer,我们有责任销毁和释放吗?

Xcode 和 ARC 调试问题(跳过 dealloc)