2011-12-22 6 views
0

Я пытаюсь создать приложение на основе документов для Cocoa с помощью Xcode 4 и столкнулся с какой-то странной проблемой.Сбой при работе с документами при переключении между окнами

Все, что я сделал до сих пор, это создание пустого приложения на основе документов. Я проверил параметры «Использовать основные данные», «Использовать автоматический подсчет ссылок», «Включить тесты единиц измерения» и «Включить параметры импорта прожекторов».

Я могу запустить приложение в порядке, но когда я переключаюсь на другое приложение (например, Finder), в главной функции появляется следующее исключение GDB.

Тема 1: Программный сигнал: «EXC_BAD_ACCESS».

Любые идеи?

Спасибо, Алан

+0

Не могли бы вы изменить вопрос и разместить трассировки стека? –

+0

Насколько я вижу, нет трассировки стека. Он просто падает на главную функцию с этим исключением во всплывающем окне. Кстати, я добавил разъяснения к моему вопросу - это происходит, как только мое приложение теряет фокус, а не когда оно восстанавливает фокус. –

ответ

0

Проблема в том, что при переключении в другое окно, приложение пытается спасти себя и восстановить все данные, когда не праздный.
Но вы не дали реальную реализацию методов:

- (NSData *)dataOfType:(NSString *)typeName error:(NSError **)outError 
- (BOOL)readFromData:(NSData *)data ofType:(NSString *)typeName error:(NSError **)outError 

Действительно есть реализация, но поведение по умолчанию для новой версии Xcode является то, что он вызывает исключение, поскольку методы не очень реализованы.
Все, что вам нужно сделать, это отказаться от автосохранения на месте:

+ (BOOL)autosavesInPlace 
{ 
    return NO; // it won't try to autosave when you switch to another window 
} 
Смежные вопросы