使用Core Data数据库填充NSMutableArray

时间:2014-06-13 22:54:03

标签: ios swift nsfetchrequest

我试图从CoreData数据库填充NSMutableArray(使用swift),但不确定我做错了什么。这是我的代码:

var stuff: NSMutableArray = []

填充NSMutableArray:

override func viewDidAppear(animated: Bool) {
    let appDel:AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
    let context:NSManagedObjectContext = appDel.managedObjectContext

    let freq = NSFetchRequest(entityName: "MyData")       
    stuff = context.executeFetchRequest(freq, error: nil)

    tableView.reloadData()

}

错误:

enter image description here

1 个答案:

答案 0 :(得分:4)

只需将stuff定义为

即可
var stuff : Array<AnyObject> = []

这将创建stuff作为适合executeFetchRequest()的返回类型的数组。

然后,当您访问数组的元素时,您还需要满足类型约束。您应该查看asas?is的Apple文档以及相关的使用示例。在最简单的情况下,它将是:

var aThing : NSManagedObject? = stuff[0] as? NSManagedObject

如果aThing不是nil,也不是子类,则上述stuff[0]NSManagedObject