Swiftのレルムのinitを使用しようとしています。私は以下を試しました
override init(value: AnyObject) {
super.init()
println("this is not called")
}
required init() {
super.init()
println("this is called")
}
オブジェクトを初期化子に渡せるようにしたいのですが、最初に呼び出される関数を取得できません。
Object.init()
とObject.init(_:)
のオーバーライドは、Realm Swiftではまだサポートされていませんが、フォローすることができます https://github.com/realm/realm-cocoa/issues/1849 更新用!
Swift 3
での私の解決策
カスタム初期化子:
class Branches: Object {
dynamic var key: String = NSUUID().uuidString
dynamic var formattedAddress: String = ""
dynamic var latitude: Double = 0.0
dynamic var longitude: Double = 0.0
convenience init(formattedAddress: String, latitude: Double, longitude: Double) {
self.init()
self.formattedAddress = formattedAddress
self.latitude = latitude
self.longitude = longitude
}
override static func primaryKey() -> String? {
return "key"
}
}