【发布时间】:2015-11-19 07:16:54
【问题描述】:
在 IOS 应用程序中使用 Swift 2 和 Xcode 7,我试图避免 fatal error unexpectedly found nil while unwrapping an Optional value 将可选链接应用到 FriendShip NSObject 但我不知道哪种方法是正确的。
下面显示的 FriendShip 类在朋友属性中接收 nil 值,但编译器给了我fatal error unexpectedly found nil while unwrapping an Optional value:
class FriendShip: NSObject{
var id: String?
var friend: User?
var date: NSDate?
init(dictionary: [String: AnyObject]){
id = dictionary["id"] as? String
friend = User(dictionary: (dictionary["friend"] as! [String: AnyObject]))
date = dictionary["date"] as? NSDate
}
}
但是如果我将朋友属性设置为可选,编译器会给我一个
EXC_BAD_INSTRUCTION 错误:
class FriendShip: NSObject{
var id: String?
var friend: User?
var date: NSDate?
init(dictionary: [String: AnyObject]){
id = dictionary["id"] as? String
friend = User(dictionary: (dictionary["friend"] as? [String: AnyObject])!)
date = dictionary["date"] as? NSDate
}
}
我该如何解决?
【问题讨论】:
-
关于 swift 的优点。错误在哪里?这是感叹号所在的地方。