如何通过核心数据中的属性名称访问实体字段

时间:2014-12-15 03:42:07

标签: ios core-data swift

我有属性id的实体。 我看到了例子:

var appDel:AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
        var context:NSManagedObjectContext = appDel.managedObjectContext!
      var request = NSFetchRequest(entityName: "myentity")
      request.returnsObjectsAsFaults = false
      if let results = context.executeFetchRequest(request, error: nil) {
      if results.count > 0 {
                for result: AnyObject in results {
                    println(result.id)
                }    
      }

但是对我来说它会返回错误:' AnyObject'没有名为' id'的成员 我怎样才能在swift的最新版Xcode中做到这一点?

1 个答案:

答案 0 :(得分:1)

创建NSManagedObject子类。完成此操作后,您可以使用点语法而不是使用object for key来访问属性。可以找到有关NSManagedObject的Apple文档here以及有关创建子类here的信息。然后在for循环中,将对象强制转换为托管对象的子类类型。

var error: NSErrorPointer = nil
if !fetchedResultController.performFetch(error)
{
    println("Unresolved error: \(error), \(error.debugDescription)")
}

let results = fetchedResultController.fetchedObjects as [YourSubclass]

for result in results {
    println(result.id)
}