Objective c 我们是否应该删除UIView的dealloc中的observer?

Objective c 我们是否应该删除UIView的dealloc中的observer?,objective-c,Objective C,我的意思是,当对象即将被释放时,观察者不移除它吗?我听说他们用零指针指向观测者之类的东西。或者是通知保持对对象的强引用,这意味着无论如何都不会调用dealloc(内存泄漏) 那么我所做的是正确的吗 顺便说一下,该类继承自UIView 我的意思是,当物体即将被摧毁时,观察者不会自己移除它吗 如果你使用你提供的代码,它会。否则就不行了。(通知中心如何知道对象已解除分配?) 我的意思是,当物体即将被摧毁时,观察者不会自己移除它吗 如果你使用你提供的代码,它会。否则就不行了。(通知中心如何知道对象已解除

我的意思是,当对象即将被释放时,观察者不移除它吗?我听说他们用零指针指向观测者之类的东西。或者是通知保持对对象的强引用,这意味着无论如何都不会调用dealloc(内存泄漏)

那么我所做的是正确的吗

顺便说一下,该类继承自UIView

我的意思是,当物体即将被摧毁时,观察者不会自己移除它吗

如果你使用你提供的代码,它会。否则就不行了。(通知中心如何知道对象已解除分配?)

我的意思是,当物体即将被摧毁时,观察者不会自己移除它吗


如果你使用你提供的代码,它会。否则就不行了。(通知中心如何知道对象已解除分配?

如果问题是关于xcode的,则仅使用“xcode”标记。不是。这里有没有人在没有xcode的情况下使用objective-c?我还询问了在标准xcode环境中的行为方式。不知道gcc或其他编译器是否以同样的方式工作,也不在乎。是我(我不使用Xcode编程,这是垃圾;clang和make完成了这项工作,而且在设备开发的情况下没有其他选择)。2.是的,编译器不知道是谁叫他——IDE、程序员、
make
或其他什么。因此,一般iOS编程问题应标记为“C”或“Objective-C”(取决于所用API的语言)和“cocoa touch”。现在,请阅读“xcode”的标签wiki,你会在那里找到同样的建议。你在没有xcode的情况下使用clang?你是干什么的?即使使用了所有的人机界面功能,我也很难编程。我一点也不奇怪。“好”的图形IDE令人困惑(并且经常强制执行糟糕的编程实践。如果问题是关于xcode的,则只使用“xcode”标记。不是。好吧,这里有人使用objective-c而不使用xcode吗?我也在问标准xcode环境中的行为方式。不知道gcc或其他编译器是否以同样的方式工作,不在乎。1.是我(我不使用Xcode编程,这是垃圾;clang和make完成了这项工作,而且在设备开发的情况下没有其他选择。)2.是的,编译器不知道谁叫他——IDE、程序员、
make
或其他什么。因此,一般的iOS编程问题应该标记为“C”或“Objective-C”(取决于使用的API语言)和“cocoa touch”。现在,请阅读“xcode”的标记wiki,你会在那里找到相同的建议。你在没有xcode的情况下使用clang?你是什么?即使使用了所有的人类GUI功能,我也很难编程。我一点也不奇怪。“好的”图形IDE令人困惑(并且经常强制执行糟糕的编程实践。因此,当对象被释放时,它不会到处发送通知?@JimThio不,魔术和奇迹尚未在Objective-C运行时中实现(可能在3.0:P中)我想我会一直删除通知,直到那一刻。现在我只添加缺陷报告,因为缺少魔法和奇迹。当对象被释放时,它不会到处发送通知?@JimThio不,魔法和奇迹还没有在Objective-C运行时实现(可能在3.0:P中)我想我会删除通知,直到它发生。现在我只会添加缺陷报告,因为缺少魔法和奇迹
-(void)dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self name:USERBOOKMARKANDLIKEOBTAINED object:nil];
}