【发布时间】:2017-04-21 05:29:12
【问题描述】:
模型类:
class CountryModel: NSObject {
var name:NSString!
var countryId:NSString!
init(name: NSString, countryId: NSString) {
self.name = name
self.countryId = countryId
}
}
视图控制器:
var nameArr = [CountryModel]() // Model Class object
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
var cell = UITableViewCell()
cell = tableView.dequeueReusableCell(withIdentifier: "cell")!
let arr = nameArr[indexPath.row] // How to do if let here
let str:String? = "\(arr.countryId) \(arr.name)"
if let sstr = str{
cell.textLabel?.text = sstr
}
return cell
}
如果我尝试解包 nameArr[indexPath.row] 给出错误,应该如何解包,因为输出是可选的,条件绑定的初始化程序必须具有可选类型,而不是“国家模式”
它工作正常我没有将 arr.countryId 与 arr.name 连接
【问题讨论】:
-
在 modelClass 中使用
String而不是NSString并且 CountryModal 不是可选的 .. 它会给你那个警告。不需要在那里检查可选 -
@EICaptainv2.0 谢谢先生,但是按照你说的做之后它给出了一个可选的“结果这里”,之前有两个可选的(可选的“这里的值”)
标签: ios swift3 optional unwrap forced-unwrapping