【发布时间】:2026-01-22 22:05:01
【问题描述】:
我有一个来自 coredata 的对象列表,然后我从其中一个对象中获取 objectId:
let fetchedId = poi.objectID.URIRepresentation()
现在我需要为这个特定的 objectID 获取实体。 我尝试了类似的方法:
let entityDescription = NSEntityDescription.entityForName("Person", inManagedObjectContext: managedObjectContext!);
let request = NSFetchRequest();
request.entity = entityDescription;
let predicate = NSPredicate(format: "objectID = %i", fetchedId);
request.predicate = predicate;
var error: NSError?;
var objects = managedObjectContext?.executeFetchRequest(request,
error: &error)
但我得到错误:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'keypath objectID not found in entity <NSSQLEntity Person id=4>'
【问题讨论】:
-
既然可以
objectWithID:,为什么还要创建获取请求?