Почему ваш постоянный файл реализации должен быть добавлен к вашей целевой платформе? - PullRequest
2 голосов
/ 03 августа 2011

Я читал здесь старый пост: Константы в Objective-C , в котором рассказывается о том, как настроить файл для ваших констант при разработке iPhone для цели C. Один из ответов (который получилмного полезных голосов) говорит, что «Constants.m должен быть добавлен к цели вашего приложения / фреймворка, чтобы он был связан с конечным продуктом».

Мой вопрос: как вы это делаете и что достигается этим?Означает ли это, что вам не нужно импортировать файл констант в файлы, для которых он нужен?

Кроме того, применяется ли тот же метод, о котором говорилось в ответе, к целочисленным константам и т. Д.?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 03 августа 2011

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

В XCode 4 выберите свой проект в верхней части Навигатора проектов (вкладка «Вид дерева файлов» слева). Выберите вашу цель из списка целей, который появляется в новом столбце справа от навигатора проекта. Выберите вкладку Build Phases справа. Откройте элемент Compile Sources. Вот все файлы, которые компилируются для сборки вашего двоичного файла. Убедитесь, что ваш файл констант находится здесь. Если это не так, найдите его в Навигаторе проектов и перетащите на панель «Исходники компиляции».

1 голос
/ 03 августа 2011

В Xcode 4, помимо упомянутого метода Seamus, вы также можете выбрать этот файл .h, открыть правое представление (в правом верхнем углу, их три), на первой вкладке есть целевое членство , выберите цель, к которой вы хотите добавить ее, и все готово.

Вы должны убедиться, что вы #import, а также файл должен быть в целевой сборке. #import убедитесь, что ваш компилятор знает, где искать, включите файл в целевой файл, убедитесь, что когда комплер пойдет и посмотрите, есть ли этот файл (файл не будет включен в вашу сборку, если он не является частью вашей целевой сборки, даже если ваш проект).

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