Где разместить небольшой подкласс NSObject, отдельный файл .h? - PullRequest
0 голосов
/ 06 декабря 2011

Это, вероятно, глупый вопрос, но я новичок в программировании и мне было интересно, что обычно делают ppl.
Обычно я использую отдельные файлы .h и .m для всех моих классов.класс, который имеет только несколько свойств, являющихся подклассом NSObject.
Я использую этот класс только для заполнения UITableView.Я вижу, что когда я помещаю все это в один из связанных файлов .m, никто не может его увидеть, если я не включу .m, чего не хочу делать из-за циклической ссылки.Так я просто положил его в файл .h?Или ppl всегда помещает его в отдельный файл .h и .m для каждого класса?Спасибо.

Ответы [ 4 ]

2 голосов
/ 06 декабря 2011

Просто вставьте файл .h, если вы не хотите, чтобы класс был закрытым (или некоторые его части). Хороший способ скрыть вещи от других классов - определить категорию в файле .m.

1 голос
/ 06 декабря 2011

Я бы предпочел поместить отдельные классы в отдельные файлы - это значительно упрощает навигацию по неизвестному проекту.

В современной среде IDE дополнительный файл не доставляет хлопот.

1 голос
/ 06 декабря 2011

В подобных случаях я часто определяю небольшой класс-помощник в файле .m для поддерживаемого им класса, например, одного из файлов .m классов контроллеров.

Я поставил определение @interface перед кодом, который его использует, а @implementation внизу.

Таким образом, я уменьшаю режущий инструмент для небольших файлов за счет читаемости верхней части моего файла .m.

0 голосов
/ 06 декабря 2011

Поместите интерфейс в заголовок, а реализацию в файл .m, как и любой другой класс.Помещение всего вашего кода в заголовок точно эквивалентно помещению всего вашего кода в файл .m, который вы собираетесь импортировать.Там могут быть определенные конфигурации кода, где он работает, но это хрупкий дизайн без особой выгоды.Если вы собираетесь предоставить ему собственный файл, идите до конца и правильно его упорядочите.

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