Я уже некоторое время использую http://code.google.com/p/plblocks/, чтобы получить поддержку блоков в нашем приложении для iPad 3.2. Недавно мне указали, что вы можете настроить xcode для использования 4.0 SDK, а затем установить для цели развертывания ОС 3.2.
Если я это сделаю, работает следующий код.
void (^world)() = ^ {
NSLog(@"Hello World");
};
NSLog(@"Hello?");
world();
Однако каждый раз, когда я отправляю сообщение в блок, я получаю EXC_BAD_ACCESS
. Например, если я добавлю следующую строку:
void (^acopy)() = [world copy];
Это проблема, так как вы должны копировать блоки, чтобы они могли сохранить свою область видимости позже. Есть идеи, почему блоки будут работать, а сообщения - нет? Я пропускаю некоторые настройки или что-то? Я ошибаюсь по поводу необходимости копирования?