Начинающий: разница между Xcode 3 и Xcode 4 конкретно NSfunctions

Я изучаю objc и Xcode из удобной бесплатной книги под названием How To Become и Xcoder, которая очень удобна. За исключением того, что он был написан в 2007 году с Xcode 3, и все его примеры взяты из этой версии, к сожалению, у меня есть OSX Lion и, следовательно, Xcode 4. Так что к стати моего вопроса. Они предоставляют пример блока кода, как показано здесь:

//start
#import <Foundation/Foundation.h
int main (int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
NSLog(@"Hello, World!");
[pool drain];
return 0;
}
//end

Поэтому мои проблемы заключаются в том, что я получаю более 20 ошибок, и XCode не распознает команды NSAutoreleasePool или NSLog. Кто-нибудь знает, почему это не сработает? Я уже добавил основы фонда. Я уже понял, что команда printf работает лучше, чем команда NSLog (которая, насколько мне известно, в большей степени используется для отчетов об ошибках), так что да, любая помощь будет хорошей.

2 ответа

Решение

Если NSLog не распознается, это не проблема для Xcode 3 по сравнению с Xcode 4. Ваш код не включает в себя самый основной код времени выполнения Objective C. Я бы предположил, что он компилируется как C, а не Objective-C.

Вы говорите, что вам пришлось добавить среду Foundation - это означает, что вы не начали свой проект с использованием шаблона на основе Objective-C. Когда вы выбираете Новый проект..., какой шаблон вы выбрали? Любой из шаблонов приложений iOS должен работать, и большинство шаблонов приложений Mac OS X должны работать. Если вы решили создать инструмент командной строки, вы должны выбрать Foundation в качестве типа.

Изменить: Кроме того, я должен добавить, что синтаксис для пулов автоматического выпуска изменился в последней версии XCode, так как ARC используется по умолчанию. Вы можете либо отключить ARC, либо прочитать его, чтобы увидеть, в чем различия. Скорее всего, вам будет легче с ARC, так как управление памятью намного меньше, но вам придется помнить об этом, если вы читаете книгу, в которой ее нет.

Фонд расположен на экране, где вам нужно дать название вашему проекту. В качестве значения по умолчанию установлено значение C, в вашем случае вам нужно щелкнуть раскрывающееся меню и выбрать вместо него Foundation.

Удачи.

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