繁体   English   中英

对于 Xcode 生成的 Core Data 托管对象,我是否需要添加一个 dealloc 方法来释放变量?

[英]for Xcode produced Core Data managed objects, do I need to add a dealloc method to release variables?

对于 Xcode 生成的 Core Data 托管对象,我是否需要添加一个 dealloc 方法来释放变量?

所以当我有一个核心数据 model 用于我的 iPhone 应用程序时,我让 XCode 生成托管 object 类,我注意到没有 dealloc 方法。 我是否需要自己手动将 dealloc 方法“释放”到变量/属性?

我看到代码生成的托管 object 类有:

  • 该属性在 header 文件中标记为“保留”
  • 在实现文件中,它设置为“@dynamic”(即不是@sythesise)

谢谢

您不需要(也不应该)修改这些生成的文件。 @dynamic 意味着属性实现将在运行时提供。 动态属性

这有两个部分。 对于您在 model 中定义的属性,不要在 dealloc 方法中释放它们。 Core Data 正在为您管理这些。 但是,如果您将其他 ivars 添加到生成的 class 中,假设您有一个 imageData 属性,然后从中制作一个 UIImage 并保存在您的 NSManagedObject 子类中,那么您需要添加 dealloc 方法并像在任何其他 object。

我强烈建议您开始使用mogenerator 这很好,因为它会生成一个机器文件和一个用户文件,以将自动为您处理的内容与您的自定义代码分开。

虽然您不需要发布 Core Data 托管属性,但您应该清理自定义 Core Data 子类创建的任何属性或实例变量。 但是,您不能依赖在 Core Data 子类上调用 dealloc。 使用 willTurnIntoFault 执行任何必要的清理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM