2015-10-11 30 views
0
func setlLabels(weatherData: NSData) { 
    var jsonError: NSError? 
    let json = NSJSONSerialization.JSONObjectWithData(weatherData, options: nil, error: &jsonError) as! NSDictionary 
    // ... 
} 

建設行之後「讓JSON ......」沒有像「線程1個exc_bad_instruction(代碼= exc_i386_invop子碼=爲0x0)」exc_bad_instruction

我認爲這是與NSDicitionary有關問題的錯誤,但我不知道如何解決這個問題。當一件意想不到的事情發生在你的應用程序和應用程序崩潰造成

Screenshot with the error

+1

你必須給我們更多的信息。是否有堆棧跟蹤?它應該出現在下面的調試窗口中。通常情況下,你會發現一些提示,指出實際發生了什麼問題。如果你找不到那個,試着設置一個斷點,然後逐步瀏覽那行代碼,看看發生了什麼。 – btmcnellis

回答

0

此錯誤。爲了解決這個問題,有一些變量不應該是零,而是強制解開它。 (!)這是一個固定的版本會是什麼樣子:

func setlLabels(weatherData: NSData) { 
    var jsonError: NSError? 
    let json = NSJSONSerialization.JSONObjectWithData(weatherData, options: nil, error: &jsonError) as? NSDictionary 
    // ... 
} 

正如你看到的,當你刪除!as後,用?它不會崩潰取代它。