我一直对核心数据实体感到困惑。既然你从不分配它们,你需要保留它们吗?当视图控制器将实体作为其属性之一时,当另一个视图控制器分配实体时它应该是弱的,而当视图控制器设置属性本身时它应该是强的?
问问题
744 次
1 回答
2
Core Data 实体和其他实体一样只是一个对象,因此您应该遵循内存管理规则。当您需要它们和不再需要它们时,您retain
是实体。release
例如:使用 sqlite 后端,核心数据将缓存加载的数据以最小化发送到 db 的请求量。但它不能将所有记录保存在内存中,它应该了解您使用哪些实体,哪些不使用,因此它可以释放未使用和空闲的内存。如果使用weak
属性,您最终可能会得到垃圾指针或 nil 而不是实际对象。
于 2012-05-04T06:08:03.207 回答