帮助我在Swift中选择地狱.如何返回键"R"的数组计数.self.jsonObj可以为null
func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int {
return (self.jsonObj["R"]! as? NSArray)?.count;
}
Run Code Online (Sandbox Code Playgroud)
vac*_*ama 10
让我们一步一步迈出这一步.
self.jsonObj可能是nil这样你需要将它视为可选:
self.jsonObj?["R"]
这将返回1)nilif self.jsonObjis nil或者如果"R"不是有效键或者与"R"相关联的值是nil2)某个类型的Optional包装对象.换句话说,你有一个未知类型的可选.
下一步是找出它是否是NSArray:
(self.jsonObj?["R"] as? NSArray)
这将返回一个Optional类型NSArray?,可能是nil出于上述原因,或者nil因为对象self.jsonObj是其他对象类型.
所以现在您有了一个可选的NSArray,如果可以的话打开它并打电话count:
(self.jsonObj?["R"] as? NSArray)?.count
如果由于NSArray上述原因存在或返回nil,则会调用count .换句话说,现在你有了Int?
最后,如果此时你可以使用nil coalescing运算符返回值或零nil:
(self.jsonObj?["R"] as? NSArray)?.count ?? 0
| 归档时间: |
|
| 查看次数: |
4765 次 |
| 最近记录: |