对于Xcode生成的Core Data托管对象,我是否需要添加dealloc方法来释放变量?
因此,当我的iPhone应用程序拥有核心数据模型时,我让XCode生成托管对象类,我注意到没有dealloc方法。我是否需要手动将dealloc方法“释放”到变量/属性?
我看到代码生成的托管对象类有:
感谢
答案 0 :(得分:4)
您不需要(也不应该)修改这些生成的文件。 @dynamic意味着将在运行时提供属性实现。 Dynamic Properties
答案 1 :(得分:3)
这有两个部分。对于您在模型中定义的属性,请不要在dealloc方法中释放它们。 Core Data正在为您管理这些。但是如果你将其他ivars添加到生成的类中,比如你有一个imageData属性,然后在你的NSManagedObject子类中创建一个UIImage,那么你需要添加dealloc方法并像在任何其他对象。
我强烈建议您开始使用mogenerator。这很好,因为它会生成一个机器文件和一个用户文件,以便将自动处理的内容与您的自定义代码分开。
答案 2 :(得分:0)
虽然您不需要发布Core Data托管属性,但您应该清理自定义Core Data子类创建的任何属性或实例变量。但是,您不能依赖于在核心数据子类上调用dealloc。使用willTurnIntoFault执行必要的清理工作。