Цель c: метод отношений .h и .m - PullRequest
0 голосов
/ 07 апреля 2011

У меня есть теоретический вопрос: но каждый метод и IbAction должны быть объявлены в .h ???Потому что, если я напишу метод (void) в .m, а не в .h, у проекта не будет проблем.

Ответы [ 4 ]

1 голос
/ 07 апреля 2011

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

1 голос
/ 07 апреля 2011

Это руководство по реализации ваших классов.

Думайте об этом в терминах "C".Вы определяете свои прототипы в файле .h (заголовок) и делаете реализацию в .c или в этом случае в файле .m.

Оба способа будут работать, только не переопределяйте его в .m...

0 голосов
/ 07 апреля 2011

Да, нет необходимости объявлять метод в .h, потому что в цели c любое сообщение может быть передано любому объекту. Вот почему он не выдает никакой ошибки, а только предупреждает: «ABClass может не отвечать на сообщение ABC». И для такого человека, как я, который просто ненавидит предупреждения, объявляет это в .h. И это хорошая практика, так как отсутствие объявления в заголовке более подвержено сбоям, так как вы просто игнорируете предупреждения, и экземпляр не может обработать это сообщение, и ваше приложение скажет: «Здравствуйте, мистер Crash». и "Пока-пока" разработчику.

0 голосов
/ 07 апреля 2011

нет, не все они должны быть объявлены в заголовке.

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

1004 * это также хорошо, чтобы объявить категорию, которая не очень актуальны для базового типа вотдельный заголовок.
...