Xcode error: 'Cannot assign to value: function call returns immutable value' in table views
Xcode error: 'Cannot assign to value: function call returns immutable value' in table views
我很困惑,因为我正在通过字典定义 table 视图中的行内容,但是每当我尝试添加它时,它都会向我显示错误。
var places = [[String: Any]]()
class TableViewController: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
if places.count == 0 {
places.append(["name":"Taj Mahal", "lat": "27.175277", "lon": "78.042128"])
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)
cell.textLabel?.text = places[indexPath.row]["name"]
return cell
}
错误在我定义的部分:
cell.textlabel?.text = places[indexPath.row]["name"]
应该是:
places[indexPath.row]["name"] as! String
由于类型是 Any
并且您需要将其指定为 String
,因为 label
需要 String
s.
我很困惑,因为我正在通过字典定义 table 视图中的行内容,但是每当我尝试添加它时,它都会向我显示错误。
var places = [[String: Any]]()
class TableViewController: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
if places.count == 0 {
places.append(["name":"Taj Mahal", "lat": "27.175277", "lon": "78.042128"])
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)
cell.textLabel?.text = places[indexPath.row]["name"]
return cell
}
错误在我定义的部分:
cell.textlabel?.text = places[indexPath.row]["name"]
应该是:
places[indexPath.row]["name"] as! String
由于类型是 Any
并且您需要将其指定为 String
,因为 label
需要 String
s.