Kwn*_*ios 0 swift2 guard-statement
我正在处理 swift 2.0 中的一个问题
我从 API 获取一个 json 文件,并尝试从中解开一些字符串。
有时这个 json 会给我一个带有场地街道名称的字符串,但有时不会。所以当我尝试这个时
var street = arrRes[indexPath.row]["venueLocation"]!["street"] as! String
Run Code Online (Sandbox Code Playgroud)
它总是让我的应用程序崩溃,说它为零。当我评论它时,我的应用程序运行完美,但它不显示街道。知道如何在没有任何问题的情况下解开字符串nil吗?
如果尝试过这段代码
var street = arrRes[indexPath.row]["venueLocation"]!["street"] as! String
if street == "" {
street = "n/a"
}
Run Code Online (Sandbox Code Playgroud)
但它也失败了。
任何时候你强行打开包装!都会面临崩溃的风险,其中值为零。相反,您可以尝试像这样展开:
guard let venueDictionary = arrRes[indexPath.row]["venueLocation"] as? [String:AnyObject], let street = venueDictionary["street"] as? String else {
//You don't have a street string, fail gracefully
}
print(street)//Now you can use street safely as a string here
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
306 次 |
| 最近记录: |