我的一种方法中有以下代码:
...
NSNumber *selectedRecordID = [NSNumber numberWithInt:ABRecordGetRecordID(person)];
for (NSManagedObject *managedObject in fetchedResultsController.fetchedObjects) {
if (selectedRecordID == managedObject.contactID) { // this line generates a compiler error
// do some stuff
}
所指示的行生成编译器错误“在非结构或联合的内容中请求'contactID'”。但是,“ contactID”是提取的结果控制器检索到的实体的属性,并存在于Core Data生成的@property声明中。
我在这里想念什么?在此先感谢您提供的任何帮助。
最佳答案
但是'contactID'不是NSManagedObject
基类的属性,而是您自己的实体类的属性。为了使编译器能够识别该属性,您需要使用适当的类型声明获取的对象,例如:
for (MyEntity *managedObject in fetchedResultsController.fetchedObjects) {
if (selectedRecordID == managedObject.contactID) {
}