当我从NSManagedObject的子类外部创建这样的谓词时,它的工作正常:
CNSTag *aTag = ...
_predicateForMatchingObjects = [NSPredicate predicateWithFormat:@"ANY tags == %@", aTag];
但是,当我尝试为我的类CNSTag提供函数时,如下所示,程序在尝试创建谓词时崩溃:
- (NSPredicate *)predicateForMatchingObjects {
_predicateForMatchingObjects = [NSPredicate predicateWithFormat:@"ANY tags == %@", self];
return _predicateForMatchingObjects;
}
如果我在谓词中访问self的关键路径(例如,“ANY tags.name ==%@”,self.name),它可以正常工作;我只是无法访问自己。有谁知道为什么会这样?