这是我的示例代码,它在链接上给出了一个 nil 作为 self.init() 调用 get property 的替代方法是什么?
class channel : Object, Gloss.Decodable {
var id:String?
var channelName:String?
dynamic var links: Links? = nil
public required convenience init?(json: JSON) {
self.init()
self.id = "id" <~~ json
self.channelName = "channelName" <~~ json
self.links = "links" <~~ json
}
override static func primaryKey() -> String? {
return "id"
}
var getLinks:Links{
get{
return self.links! //Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value
}
}
class Links: Object, Gloss.Decodable {
var href:String?
var rel:String?
var method:String?
required convenience init(json: JSON) {
self.init()
self.href = "href" <~~ json
self.rel = "rel" <~~ json
self.method = "method" <~~ json
}
}
}
我找不到解决它的方法。任何有同样问题的人,或提出一些出路。谢谢你!
将链接更新为
var getLinks:Links?{
get{
guard let link = self.links else{
return nil
}
return link
}
}
这给出了一个错误:由于未捕获的异常“RLMException”而终止应用程序,原因:“属性“链接”被声明为“_TtCC6WTV_GO11ChannelList5Links”,这不是受支持的 RLMObject 属性类型。所有属性必须是原语、NSString、NSDate、NSData、NSNumber、RLMArray、RLMLinkingObjects 或 RLMObject 的子类