如果我将我的数组定义为:
var myList: Array <AnyObject> = []
然后使用viewDidLoad覆盖函数来填充此数组:
override func viewDidAppear(animated: Bool) {
let appDel:AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
let context:NSManagedObjectContext = appDel.managedObjectContext!
let freq = NSFetchRequest(entityName: "List")
myList = context.executeFetchRequest(freq, error: nil)!
tableView.reloadData()
}
和我的“列表”仅包含用户名作为字符串。究竟什么存储在“myList”中?它是否与带有用户名的字符串数组一样简单?
任何想法和解释都将受到高度赞赏。
答案 0 :(得分:1)
如果您已定义该类,则myList
将包含NSManagedObject
或List
个实例的子类。每个对象都具有您为该核心数据对象定义的属性。
indexPath
是一个用于表示row
的{{1}}和section
的类。这也用于标识UITableView
的{{1}}和item
。
答案 1 :(得分:1)
executeFetchRequest
从CoreData数据存储中返回托管对象的数组。基本上有两种方法可以处理它们。
首先是按原样使用它们。它们都是NSManagedObject
的实例,您可以使用valueForKey:
之类的方法来获取它们的值。
第二种方法是定义自己的NSManagedObject
子类,在你的情况下可能命名为List
,然后在该对象上定义属性,允许你直接访问这些值。
核心数据作为一个整体既疯狂强大又极其复杂。我强烈建议您完成一个教程,Apple's或otherwise,以便掌握它。 (请注意,Apple的一些文档建议从名为 Core Data Starting Point 的东西开始。有帮助的是,Apple已经退出该文档,但尚未从其他文档中删除对它的引用。)