Tôi đang đọc json từ một URL và, một lần nữa (tôi đã có cùng một vấn đề với ObjectiveC) các giá trị làm hỏng ứng dụng của tôi. Tôi không có bất kỳ vấn đề với Strings và số. Tôi có thể println (giá trị) nhưng khi tôi gán giá trị vào một UILabel, nó bị treo.Swift. Làm thế nào tôi có thể đối phó với các giá trị null vào các tập tin json?
tôi sử dụng phương pháp này để đọc các JSON:
func jsonFromURL(jsonURL: String) -> Dictionary<String, AnyObject> {
var jsonNSURL: NSURL = NSURL(string: jsonURL)
let jsonSource: NSData = NSData(contentsOfURL: jsonNSURL)
var json = NSJSONSerialization.JSONObjectWithData(jsonSource, options:NSJSONReadingOptions.MutableContainers, error: nil) as Dictionary<String, AnyObject>
return json
}
... và mã này để gán giá trị vào một UILabel bên trong một tế bào tùy chỉnh
func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell? {
var regularTextCell:celda = celda(style: UITableViewCellStyle.Default, reuseIdentifier: "cell")
var cell:celda = NSBundle.mainBundle().loadNibNamed("celda", owner: self, options: nil)[0] as celda
cell.name.text = myJson["list"]![indexPath.row]!["name"] as String
cell.id.text = "id: " + String(myJson["list"]![indexPath.row]!["id"] as Int)
// THIS line crash because some values of adress are <null>
cell.address.text = myJson["list"]![indexPath.row]!["address"] as String
return cell
}
Bạn có thể xem một ví dụ về JSON tại: https://dl.dropboxusercontent.com/u/787784/example.json
Cảm ơn!
thể trùng lặp của [Dò tìm một giá trị Null trong NSDictionary] (http: // stackoverflow.com/questions/24026609/detect-a-null-value-in-nsdictionary) – Jeff