【发布时间】:2019-02-19 16:27:11
【问题描述】:
我得到一个 Class has no initializers 错误。这不是我设置课程的方式吗?这是一个领域对象数据库,我要存储的属性。我是 swift 和领域的新手,但我认为这就是它的完成方式。如果我取出 init() 函数并只分配它工作的所有值,但是诸如 justTook 之类的属性以及我不想以值开头的所有属性,我需要稍后在程序中设置它。
这是我的代码:
class MedInfo: Object {
// Info To Be Stored
@objc dynamic var keyID = UUID().uuidString
@objc dynamic var medName: String
@objc dynamic var medDose: String
@objc dynamic var currentDate: Date
@objc dynamic var timeTook: Date
@objc dynamic var lastTook: Date
@objc dynamic var durationOfTime: Date
@objc dynamic var doctorName: String
@objc dynamic var rxDate: Date
@objc dynamic var medInfo: String
@objc dynamic var pictureOfMed: UIImage
override static func primaryKey() -> String? {
return "keyID"
}
convenience init(medName: String, medDose: String, currentDate: Date, timeTook: Date, lastTook: Date, durationOfTime: Date, doctorName: String,rxDate: Date, medInfo: String, pictureOfMed: UIImage) {
self.medName = medName
self.medDose = medDose
self.currentDate = currentDate
self.timeTook = timeTook
self.lastTook = lastTook
self.durationOfTime = durationOfTime
self.doctorName = doctorName
self.rxDate = rxDate
self.medInfo = medInfo
self.pictureOfMed = pictureOfMed
}
【问题讨论】:
-
如果您不想在初始化期间给变量赋值,可以将变量声明为可选项。