Ошибка Xcode: "не удается присвоить значение: вызов функции возвращает неизменяемое значение" в представлениях таблиц

Я запутан, поскольку я определяю содержание строк в табличном представлении с помощью словаря, но когда я пытаюсь добавить его, он показывает мне ошибку.

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"]

1 ответ

  1. Это должно быть:

    places[indexPath.row]["name"] as! String
    

    Как тип есть Anyи его нужно указать какString, так labelкак ожидает Strings.