为一对多关系实现 class 结构。 Swift
Implementing a class structure for one-to-many relationship. Swift
基本上我正在尝试为一个人和一个人的宠物实施 class。在非常简单的形式中,Person class 和 Pet class 会像这样:
class Person {
var email : String!
var name : String!
var pets : [Pet]!
init(userName: String) {
email = userName
// load Person from CloudKit database
}
}
class Pet {
var name : String!
var breed : String?
}
现在我希望能够加载与特定用户名相关的所有宠物。如果我有上面的 class,那只能容纳一只宠物。如果我像在 Person class 中那样做一个数组,就没有 Load 方法。问题是,我是否应该创建一个新的 class 宠物,如下所示:
class Pets {
var userName : String
var pets : [Pet]
init(email: String) {
// load all pets related to user here
}
}
这有意义吗?还是有更好的方法来构建 class?我的问题够清楚了吗?提前感谢您的帮助。
我会为我的数据模型使用 class 以外的结构。 Structs and Classes
我不会使用可选值,除非我真的不得不这样做,并且有一些用例是您必须使用的。我也根本不会使用隐式解包选项......即!这是一个 'exclamation' 是有原因的。您应该仔细阅读何时使用不同类型的选项。Why create implicitly unwrapped optionals
我不会有你创造的宠物 class。所有这些都将存储在您的数据库中以供查询……可能是核心数据,或者如果您有其他 class 来保存数据,那么它只是 [String: [Pet] 的 dictionary/map ] 然后你可以从 dictionary/map
中查找所有宠物的用户名
基本上我正在尝试为一个人和一个人的宠物实施 class。在非常简单的形式中,Person class 和 Pet class 会像这样:
class Person {
var email : String!
var name : String!
var pets : [Pet]!
init(userName: String) {
email = userName
// load Person from CloudKit database
}
}
class Pet {
var name : String!
var breed : String?
}
现在我希望能够加载与特定用户名相关的所有宠物。如果我有上面的 class,那只能容纳一只宠物。如果我像在 Person class 中那样做一个数组,就没有 Load 方法。问题是,我是否应该创建一个新的 class 宠物,如下所示:
class Pets {
var userName : String
var pets : [Pet]
init(email: String) {
// load all pets related to user here
}
}
这有意义吗?还是有更好的方法来构建 class?我的问题够清楚了吗?提前感谢您的帮助。
我会为我的数据模型使用 class 以外的结构。 Structs and Classes
我不会使用可选值,除非我真的不得不这样做,并且有一些用例是您必须使用的。我也根本不会使用隐式解包选项......即!这是一个 'exclamation' 是有原因的。您应该仔细阅读何时使用不同类型的选项。Why create implicitly unwrapped optionals
我不会有你创造的宠物 class。所有这些都将存储在您的数据库中以供查询……可能是核心数据,或者如果您有其他 class 来保存数据,那么它只是 [String: [Pet] 的 dictionary/map ] 然后你可以从 dictionary/map
中查找所有宠物的用户名