在此行中:let task = self.session.venues.get(self.foursquareId!) {
斯威夫特:意外發現零而展開的可選值(LLDB)
import UIKit
import QuadratTouch
class VenueDetailsViewController: UIViewController {
@IBOutlet var venueLabelName: UILabel!
var foursquareId:String?
var session: Session!
override func viewDidLoad() {
super.viewDidLoad()
let task = self.session.venues.get(self.foursquareId!) {
(result) -> Void in
if result.response != nil {
if let venue = result.response!["venue"] as? JSONParameters {
if let venueName = venue["name"] as? String {
self.venueLabelName.text = venueName
}
}
} else {
// Show error.
}
}
task.start()
}
}
它拋出我
fatal error: unexpectedly found nil while unwrapping an Optional value
(lldb)
把它放在一個if let命令中。它應該被解決 –
如果foursquareId是零,則不會...只有當self.session.venues.get()函數接受可選值並返回一個可選值時,並且foursquareId不是強制解包。無論如何,在該行的開頭應該已經有了一個if。 – bryanm
@bryanm foursquareId傳遞一個字符串,不是零。如果我在'task ='之前打印它,我可以看到它。 – Ryan