Как привязать значение UILabel к переменной экземпляра? - PullRequest
2 голосов
/ 19 января 2010

Я полный новичок в Mac / Objective-C. Мой вопрос: мне интересно, можно ли привязать текст UILabel к переменной, не устанавливая текст вручную при изменении значения.

Например, в Mac OS, когда я открываю новое окно Finder и удаляю файл, глобальное свободное пространство на панели задач меняется. И это значение также изменяется во всех открытых «искателях».

Как я могу воспроизвести такое поведение, используя Objective-c, на Mac или для iPhone? Я думал о UILabel, но я не мог найти способ, отличный от ручной установки каждой UILabel.

спасибо Leonardo

Ответы [ 3 ]

1 голос
/ 19 января 2010

Вам нужно будет исследовать следующее:

  1. Уведомления Уведомления

и / или

  1. Кодовое значение ключа KVC

Уведомления позволят вам настроить автоматические уведомления об изменениях, скажем, объекта (например, переменной), изменения которого вы хотите каскадировать по всей вашей программе. KVC позволяет подключать данные к объектам и может быть полезен, если вы используете базовые данные.

Сначала я бы начал с уведомлений.

1 голос
/ 19 января 2010

Текущая версия iPhone OS (3.1) не поддерживает привязки (например, вы найдете в Какао на рабочем столе). В настоящее время вам нужно будет написать клей контроллера вручную, чтобы синхронизировать пользовательский интерфейс с вашей моделью.

В частности, вы бы добавили метод IBAction в свой контроллер и подключили UILabel для вызова его при изменении содержимого.

Этот вопрос также уже рассматривался:

На Mac вы должны использовать Key-Value Coding (KVC) и привязать метку к контроллеру объектов в IB. Документация по привязкам описывает это довольно подробно:

0 голосов
/ 19 января 2010

Это очень возможно, и есть 2 способа сделать это.

Программно сделав UILabel в коде и просто установив myLabel.text.text его

Хотя Интерфейсный Разработчик, куда вы перетаскиваете UILabel, где вы хотите, и у вас есть свойство в коде, чтобы подключить его, а затем использовать это свойство для установки myLabel.text.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...