迅速转化项目3使用CoreData

问题描述:

我是比较新的雨燕和可可的世界,并希望能得到最新最好的方式来设计数据模型为人民的意见如下:迅速转化项目3使用CoreData

我现在有一个原型项目为MacOS,具有以下(简化的)数据模型:

class Loan: NSObject, XMLParseDelegate { 
    var id: Int 
    var address: Address 
    // ... other properties and methods 
    func parseZillow() { 
    // bunch of code, etc 
    } 
} 

其中Address是具有其自己的属性和方法的另一个类结构。那么我的[Loan]势必NSArrayControllerNSTableView使用Cocoa绑定一个数组(和一切工作很好,但现在我要介绍的持久存储到图片)

现在(两部分)的问题:

1)如果我要用CoreData模型来表示这个结构 - 我该如何表示loan.address路径的嵌套类结构? CoreData(Loans and Addresses)中只有2个实体,并且两者之间有一对一的关系?这是最佳做法吗?

2)我对CoreData的理解是,作为我的数据模型而不是使用数组[Loan],CoreData将成为新的数据模型(并将创建一个代表我的数据模式的托管对象,类似于我目前使用的数据模式class Loan object。我在哪里可以定义我目前用于我的LoanAddress类的方法?我是否需要在MO上创建一个包装类?我已经看了一大堆教程,但这部分仍然不清楚我

+0

警告:核心数据不是初学者技术。 – matt

  1. 是的,你可以有两个实体,贷款和地址。如果每个贷款有一个地址,每个地址有一个贷款的关系髋关节是一对一的。如果一个地址可以有多个贷款,那么这个关系是多对一的。

  2. Creating and Saving Managed Objects

创建NSManagedObject子类

默认情况下,核心数据将返回NSManagedObject实例您的应用程序。但是,为模型中的每个实体定义NSManagedObject的子类是非常有用的。特别是,当你创建NSManagedObject的子类时,你可以定义实体可以用于代码完成的属性,并且可以为这些子类添加便利方法。

要创建NSManagedObject的子类,请在Xcode的核心数据模型编辑器中选择该实体,然后在数据模型检查器的实体窗格中的类字段中输入名称。然后在Xcode中创建子类(AAAEmployeeMO)。

'创建NSManagedObject子类...'位于编辑器菜单中。您可以一次创建所有子类。您可以将您的方法添加到NSManagedObject子类。