#objective-c #ios #nsautoreleasepool
#objective-c #iOS #nsautoreleasepool
Вопрос:
Я загрузил пример кода с developer.apple.com вызывается SimpleGestureRecognizer и в main.m программа отправляет сбой, потому что программа не знает выражение @auoreleasepool
Сбой: неожиданный ‘@’ в программе. Я искал в Интернете, если с кем-то случается такая же проблема, но ни у кого не было такой же проблемы.
Знаете ли вы, почему эта программа не знает выражение @autoreleasepool? Моя версия Xcode — 3.2.6
Спасибо за вашу помощь и предположения в дальнейшем
Ответ №1:
@autoreleasepool
была введена в LLVM 3.0, компилятор доступен в Xcode 4.2. Поскольку вы используете Xcode 3.2.6, у вас есть LLVM 1.6 и GCC, ни один из которых не распознает эту директиву.
Вы можете изменить код для использования NSAutoreleasePool
вместо @autoreleasepool
того, чтобы он строился с помощью Xcode 3.2.6. Например, заменить:
@autoreleasepool {
…
}
с:
NSAutoreleasePool *pool = [NSAutoreleasePool new];
…
[pool drain];