所以我有两个对象,如下所示:
class BankModel: Object {
dynamic var bankModelId: String = ""
dynamic var bankName: String!
dynamic var bankBranch: String?
var coordinate: List<LocationModel>!
dynamic var buyingTWD: String?
dynamic var buyingUSD: String?
dynamic var sellingTHB: String?
dynamic var sellingUSD: String?
override static func primaryKey() -> String? {
return "bankModelId"
}
}
和
class LocationModel: Object {
dynamic var locationId: String = ""
dynamic var latitude: String = ""
dynamic var longitude: String = ""
override static func primaryKey() -> String? {
return "locationId"
}
}
当我尝试追加LocationModel
时let realm = try! Realm()
let bankModel = BankModel()
let coordinate = LocationModel()
coordinate.locationId = "1"
coordinate.longitude = "20.11111"
coordinate.latitude = "123.21412"
bankModel.bankModelId = "1"
bankModel.bankName = "SuperRich Orange"
bankModel.bankBranch = "HQ"
bankModel.buyingUSD = "\(buyingUSDRepalced)"
bankModel.buyingTWD = "\(buyingTWDRepalced)"
bankModel.coordinate.append(coordinate)
try! realm.write {
realm.add(bankModel, update: true)
}
我得到了这个致命的错误:
在解包可选值时意外发现nil
不知道为什么会发生这种情况,任何提示都值得赞赏!
答案 0 :(得分:2)
coordinate
是nil
。你还没有初始化它。编译器不会抱怨,因为您将其声明为implictly unwrapped optional,可以是nil
。使用
var coordinate = List<LocationModel>()
代替。