无法使用swift将对象追加到域中的List <t>

时间:2017-09-03 04:19:18

标签: swift object realm

所以我有两个对象,如下所示:

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

不知道为什么会发生这种情况,任何提示都值得赞赏!

1 个答案:

答案 0 :(得分:2)

coordinatenil。你还没有初始化它。编译器不会抱怨,因为您将其声明为implictly unwrapped optional,可以是nil。使用

var coordinate = List<LocationModel>()

代替。

相关问题