我试图从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()
}
错误:
答案 0 :(得分:4)
只需将stuff
定义为
var stuff : Array<AnyObject> = []
这将创建stuff
作为适合executeFetchRequest()
的返回类型的数组。
然后,当您访问数组的元素时,您还需要满足类型约束。您应该查看as
,as?
和is
的Apple文档以及相关的使用示例。在最简单的情况下,它将是:
var aThing : NSManagedObject? = stuff[0] as? NSManagedObject
如果aThing
不是nil
,也不是子类,则上述stuff[0]
为NSManagedObject
。