我在JSON响应中有动态子对象来填充 偏好数据,每个偏好可以有“孩子”,也可以 有多个对象(以嵌套方式,详细介绍)。我需要保存 将这些数据导入Core数据然后从那里加载。我还需要保存 用户在途中选择一个用户时选择。
如何创建具有父子关系的表?是什么 在实体模型中实现实体关系以保存所有的最佳方法 这个数据?这是我的模型类:
class Menu: NSObject {
var active:String?
var code:String?
var desc:String?
var iconId:Int?
var inactive:String?
var isEatin:Int64?
var isTakeAway:Int64?
var menuId:Int?
var menuName:String?
var menuType:Int?
var parentId:Int?
var subMenus:[SubMenu]?
var products:[Product]?
}
class SubMenu: NSObject {
var code:String?
var desc:String?
var eatinPrice:Float?
var isEatin:Int?
var isTakeAway:Int?
var menuId:Int?
var menuName:String?
var menuType:Int?
var parentId:Int?
var sortOrder:Int?
var takeAwayPrice:Float?
var products:[Product]?
}
class Product: NSObject {
var addons:[Addon]?
var modifiers:[Modifier]?
var productImages:[ProductImages]?
var code:String?
var desc:String?
var eatinPrice:Float?
var isDisplayinMenu:Int?
var isEatin:Int?
var isProductset:Int?
var isTakeAway:Int?
var menuId:Int?
var name:String?
var note:String?
var printer:String?
var printerId:Int?
var printerType:String?
var productId:Int?
var rating:Int?
var sortOrder:Int?
var takeAwayPrice:Float?
}
class Addon: NSObject {
var addonsId:Int?
var addonsName:String?
var productId:Int?
var selectionCount:Int?
var addonTypes:[AddonType]?
}
class Modifier: NSObject {
var modifierId:Int?
var modifierName:String?
var productId:Int?
var modifierType:[ModifierType]?
}
class AddonType: NSObject {
var addonTypeId:Int?
var addonTypeName:String?
var price:Float?
var isAddonSelected:Int?
}
class ModifierType: NSObject {
var modifierTypeId:Int?
var modifierTypeName:String?
var isModifierSelected:Int?
}
class AddonModCombo: NSObject {
var addon:[Addon] = [Addon]()
var modifier:[Modifier] = [Modifier]()
var numberOfAddonMod = 1
}
答案 0 :(得分:0)
要使用Core Data,您需要创建一个数据模型文件 - 大致是一个模式。然后你的类必须继承自NSManagedObject
。 Xcode可以根据数据模型自动为您创建这些子类。
关系在数据模型中配置,并表示为托管对象类的属性。结果类似于您的subMenus
和products
属性,但与数据模型和NSManagedObject
类似。
Apple提供了大量详细的文档,其中包含示例代码和屏幕截图。例如,此处描述了关系:https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CoreData/HowManagedObjectsarerelated.html#//apple_ref/doc/uid/TP40001075-CH17-SW1