![](/img/trans.png)
[英]swift Xcode: unexpectedly found nil while unwrapping an Optional value (lldb)
[英]Swift: unexpectedly found nil while unwrapping an Optional value, NSObject
我試圖在IOS應用程序中使用Swift 2和Xcode 7,以避免在fatal error unexpectedly found nil while unwrapping an Optional value
鏈應用於FriendShip NSObject fatal error unexpectedly found nil while unwrapping an Optional value
但是我不知道哪種方法是正確的。
下面顯示的FriendShip類在friend屬性中接收到一個nil值,但是編譯器fatal error unexpectedly found nil while unwrapping an Optional value
給了我一個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
}
}
但是,如果我將friend屬性設置為可選,編譯器會給我一個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
}
}
我該怎么解決?
您仍在此處展開可選項:
friend = User(dictionary: (dictionary["friend"] as? [String: AnyObject])!)
即:
(dictionary["friend"] as? [String: AnyObject])!
而是應該類似:
if let friendDictionary = dictionary["friend"] as? [String: AnyObject] {
friend = User(dictionary:friendDictionary)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.