objective-c - 使用 ARC 时,核心数据中的实体应该是强属性还是弱属性?

标签 objective-c memory-management automatic-ref-counting

我对核心数据实体感到困惑。既然你从不分配它们,你需要保留它们吗?当 View Controller 将实体作为其属性之一时,当另一个 View Controller 分配该实体时,它应该是,但当 View Controller 设置属性本身时,它应该是吗? p>

最佳答案

核心数据实体只是一个与其他对象一样的对象,因此您应该遵循 memory management rules 。在需要时保留实体,在不再需要时释放实体。

例如:使用 sqlite 后端,核心数据将缓存加载的数据,以最大限度地减少发送到数据库的请求量。但它不能将所有记录保留在内存中,它应该了解您使用哪些实体和不使用哪些实体,因此它可以释放未使用的和可用的内存。如果使用弱属性,您最终可能会得到垃圾指针或 nil 而不是实际对象。

关于objective-c - 使用 ARC 时,核心数据中的实体应该是强属性还是弱属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10442899/

相关文章:

iphone - IOS - 通过使用 ARC 的循环创建新的对象实例

iphone - 调用-createDirectoryAtURL : causes crash

objective-c - 将 init 中的 self 分配给不同的指针

iphone - 插入 View Controller 时应用程序崩溃

ios - iOS 10.3 中的备用图标

ios - UIPanGestureRecognizer : Why there is no StateEnded every time

c++ - 如何使用 Loki 的小对象分配器?

c++ - VC++ 支持_mm_malloc 吗?

Cocoa 内存管理 NSArray 与对象

objective-c - Objective C arc——保留对类的引用