当我从 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),它工作正常;我只是无法访问自我。有谁知道为什么会这样?