ios:为什么NSManagedObjectID对象不能被弱引用?

时间:2014-10-22 07:59:19

标签: ios core-data automatic-ref-counting

我的财产很弱:

@property (nonatomic,weak) NSManagedObjectID *locatedMessageID;

调用-(void)setLocatedMessageId时应用会崩溃。错误是:

  

EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP)。

要解决此问题,只需将'weak'关键字替换为'assign'。

@property (nonatomic,assign) NSManagedObjectID *locatedMessageID;

但它安全吗?为什么我不能在这里使用弱房产?

1 个答案:

答案 0 :(得分:-1)

NSManagedObjectID是不可取的。请改用对象本身。您可以方便地访问所有关联的对象和属性 - 实际上不需要根据对象ID再次显式获取对象。

与下面的评论相反,您最好使用对象本身。