快速和核心数据 - 阵列和单元基础知识



如果我将数组定义为:

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"中究竟存储了什么?它是否像带有用户名的字符串数组一样简单?

任何想法和解释将不胜感激。

如果您定义了NSManagedObjectList实例的子类,则您的myList将包含该类。每个对象都具有您为该核心数据对象定义的属性。

indexPath是一个类,用于表示UITableViewrowsection。这也用于识别UICollectionViewitemsection

executeFetchRequest

CoreData 数据存储返回托管对象的数组。基本上有两种方法可以处理它们。

首先是按原样使用它们。它们都是 NSManagedObject 的实例,您可以使用 valueForKey: 等方法来获取它们的值。

第二种方法是定义你自己的NSManagedObject子类,在你的例子中可能命名为List,然后定义该对象的属性,允许你直接访问值。

核心数据作为一个整体既强大得离谱,又复杂得离谱。我强烈建议您完成一个教程,无论是Apple的还是其他的,以掌握它。(请注意,Apple的一些文档建议从称为Core Data Start Point的内容开始。有用的是,Apple已经停用了该文档,但尚未从其他文档中删除对它的引用。

最新更新