【发布时间】:2016-09-23 07:33:47
【问题描述】:
作为一名新开发人员,我正在发现新概念,我一直在尝试理解核心数据,但在我浏览的教程中遇到了问题。使用对象 ID 调用项目时出现错误。错误是 - Type 'Person.Type' 没有下标成员。 这可能是因为我没有正确执行此操作,或其他原因。我相信有人可以对这个主题有所启发
这是我编写的一个函数,用于从数据堆栈中获取特定项目,
func getObjectById(id: NSManagedObjectID) -> Person?{
return context.objectWithID(id) as? Person
}
这是我调用函数的方式
func callFirstObject(){
let context = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
let personService = PersonService(context: context)
let firstPerson = personService.getObjectById(Person[0].objectID!)
}
从那里我只是在一个按钮内调用callFirstObject()。
编辑:我有一个函数可以调用我的所有对象
func getAllObjects() -> [Person]{
return getObject(withPredicate: NSPredicate(value: true))
}
还有一个用谓词调用我所有对象的函数
func getObject(withPredicate queryPredicate: NSPredicate) -> [Person]{
let fetchRequest = NSFetchRequest(entityName: Person.entityName)
fetchRequest.predicate = queryPredicate
do {
let response = try context.executeFetchRequest(fetchRequest)
print("\(response)")
return response as! [Person]
} catch let error as NSError {
// In case of failure
print("There was an error - \(error)")
return [Person]()
}
}
我只是想调用堆栈中的特定名称。
如果需要更多信息,我很乐意提供。
【问题讨论】:
标签: ios swift cocoa-touch core-data