Я думаю, что Cocoa Bindings - это немного спорная технология.

Некоторые люди считают, что меньше кода означает меньше ошибок, легче отлаживать, другие считают, что его трудно читать и понимать, это черная магия. За эти годы я несколько раз пытался понять, но без особого успеха. Вчера вечером я прочитал блестящую книгу Стюарта Гримшоу. Я очень рекомендую его книгу, он написал много очень полезных концепций об общем программировании и кодировании на Swift.

В этом руководстве показано простое табличное представление:

Шаг 1. Создайте новый проект Swift с помощью Storyboard:

Шаг 2. Добавьте новый файл с классом Person, который соответствует KVO:

Шаг 3. Создайте массив в ViewController.swift в качестве источника данных TableView. Это будет последний код, который нам нужно написать:

Шаг 4. Перейдите в Main.storyboard и добавьте ArrayController из библиотеки:

Сделайте нашу жизнь проще, назовите этот контроллер PeopleArrayController:

Щелкните «Показать инспектора привязок» в правом верхнем углу. Внесите изменения, показанные на картинке.

  • Свяжите наш новый ArrayController с ViewController
  • Установите Model Key Path в peopleArray или имя массива в вашем ViewController.swift.

Шаг 5. Добавьте представление таблицы из библиотеки:

По умолчанию в табличном представлении всего 2 строки, добавьте еще одну для номера мобильного телефона:

Теперь подключите контроллер массива и табличное представление:

Назовите столбцы представления таблицы:

В качестве последнего шага привяжите представление ячеек таблицы:

Шаг 6. Сборка и запуск:

Исходный код: Github

Источники:

  1. Стюарт Гримшоу - Освоение программирования на macOS
  2. Thomas Grossen - Привязка TableView к Swift 4 и Storyboard
  3. Таун Чапман - Привязки, лучший код - это код, который не написан

Первоначально опубликовано на https://kicsipixel.github.io 30 апреля 2020 г.