Как подключить IBOutlet к раскадровке из категории класса

У меня есть класс CarViewController, который имеет несколько файлов категорий классов. CarViewController.m импорт CarViewController+protected.h, Я хочу иметь некоторые свойства IBOutlet внутри car+protected.h так что я могу использовать их как в моем CarViewController.m и другие файлы реализации категорий классов.

Я открыл помощник редактора и не смог перетащить его из вида в аутлет в CarViewController+protected.h, Тем не менее, я смог перетащить из розетки в CarViewController+protected.h к представлению в раскадровке.

Я запустил свой код в конце концов получил this class is not key value coding-compliant for the key ошибка, которая обычно означает, что у вас есть устаревшее соединение где-то в проекте. Я проверил это и очистил проект, но я не могу обойти эту ошибку.

Можно ли подключить IBOutlets к раскадровке в заголовочном файле категории класса? Если нет, могу ли я использовать файл расширения класса? Мой класс CarViewController становится очень большим, и я хочу использовать категории или расширения, чтобы разбить размер файла и лучше организовать свой код.

1 ответ

Решение

Вы не можете объявлять свойства в категории, поэтому невозможно связать свойство IBOutlet с категорией.

В вашем случае, делая CarViewController Суперкласс и создание подклассов, наследуемых от класса, могут решить проблему.

Другие вопросы по тегам