@mina_rina

Как вывести словарь в таблицу?

У меня есть вот такой словарь:
var sites = defaults.dictionary(forKey: "Sites") as? [String: String] ?? [String: String]()

Значения в нем обновляются каждые 5 минут и по нажатию кнопки.

Как их вывести в таблицу, чтобы выглядело это так:
------------------------
Ключ1 | значение1
-------- -------------
Ключ2 | значение2
-------- -------------
и тд

И что нужно чтобы таблица обновлялась вслед за словарем?
Может можно как то через бинды это сделать?

upd:
Получилась вот такая функция
func tableView(tableView: NSTableView!, objectValueForTableColumn tableColumn: NSTableColumn!, row: Int) -> NSView? {
       
        if let cell = tableView.makeView(withIdentifier: tableColumn!.identifier, owner: nil) as? NSTableCellView
        {
            
            let domain = [String](sites.keys)
            let status = [String](sites.values)
            if tableColumn?.title == "Sites" {
                cell.text = domain[IndexPath.row]
            } else {
                cell.text = status[IndexPath.row]
            }
            
            return cell;
        }


        return mutableArrayValue[row]
    }


Но там вот такая ошибка:
Value of type 'NSTableCellView' has no member 'text'
напротив cell.text
  • Вопрос задан
  • 171 просмотр
Решения вопроса 1
@mina_rina Автор вопроса
Решено: словарь разбивается на массивы и добавляется в таблицу массивами
func tableView(_ tableView: NSTableView, objectValueFor tableColumn: NSTableColumn?, row: Int) -> Any? {
        var domain = [String](sites.keys)
        var status = [String](sites.values)
         if tableColumn?.title == "Sites" {
        return domain[row]
        }
         else{
            return status[row]
        }
    }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы