基本上我正在尝试为Person和Person的宠物实现一个类。在它中,Person类和Pet类的形式非常简单:
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?
}
现在我希望能够加载与特定用户名相关的所有宠物。如果我有上述课程,那只有一个宠物。如果我在Person类中执行数组,则没有Load方法。问题是,我应该创建一个新的类,如下所示:
class Pets {
var userName : String
var pets : [Pet]
init(email: String) {
// load all pets related to user here
}
}
这有意义吗?或者是否有更好的方法来构建课程?我的问题清楚了吗?感谢您提前提供任何帮助。
答案 0 :(得分:0)
我正在使用结构而不是我的数据模型的类。 Structs and Classes
我不会使用选项,除非我真的不得不这样做,并且有一些用例你必须这样做。我根本不会使用隐式解包的选项...即!这是一个感叹'因为某种原因。您应该了解何时使用不同类型的选项。Why create implicitly unwrapped optionals
我不会像你一样创建一个Pets课程。所有这些都将存储在您的数据库中以供查询...可能是核心数据,或者如果您有其他类来保存数据,那么它将只是[String:[Pet]]的字典/地图,您可以查找所有宠物的字典/地图用户名