2010-05-04 4 views
1

В моих прошлых приложениях я был #importing в свои * .h файлы там, где это необходимо. Я не очень много думал об этом раньше, так как у меня не было никаких проблем, но сегодня я заметил что-то, что заставило меня подумать, что, может быть, мне следует импортировать в мои файлы .m и использовать @class, где это необходимо в заголовки ( .h) Может ли кто-нибудь осветить какой-либо свет по тому, как он должен быть сделан или передовой?Где #include?

Гэри

ответ

3

Как правило, в вашем файле заголовка хорошо использовать @class и #import в ваших .m-файлах. Вы получите сообщение об ошибке, если вы делаете это неправильно от компилятора :)

В принципе, если вы только делаете ссылку на класс, который вы хотите использовать, но не любые особенности класса, то @class все, что необходимо. Он сообщает компилятору: «Я собираюсь использовать этот класс здесь, вам не нужно много об этом знать, кроме того, что это действительно». (Затем компилятор знает, как зарезервировать для него указатель).

Если вы собираетесь ссылаться на какие-либо свойства/методы внутри класса, компилятор начнет жаловаться (поскольку у него не будет достаточной информации о классе), поэтому в этих случаях он хочет, чтобы вы импортировали файл (), чтобы предоставить спецификацию класса компилятору.

Надеюсь, это поможет

4

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

+0

Спасибо, я понимаю сейчас. – fuzzygoat

Смежные вопросы