2017-09-03 24 views
1

所以我有两个对象,如下列:无法追加对象使用到列表中的境界<T>迅速

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) 
} 

我得到这个致命错误:

unexpectedly found nil while unwrapping an Optional value

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

回答

1

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

var coordinate = List<LocationModel>() 

代替。

+0

工作,谢谢... – Ian