2016-12-29 3 views
0

Я смущен, поскольку я определяю содержание строк в представлении таблицы с помощью словаря, но когда я пытаюсь его добавить, он показывает я ошибся.Ошибка 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"] 
+0

Попробуйте thiscell.textLabel? .text = places [indexPath.row] ["name"] as! String –

ответ

0

Оно должно быть:

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

Поскольку тип Any и вам нужно указать его как String, так как label ожидает String s.

+0

Большое спасибо за ответ на мой вопрос –