Я написал приложение, которое имеет около 3 различных контроллеров представления для каждого представления в панели вкладок. Я вызвал applicationDidEnterBackground: в каждом из контроллеров представления сохранить все данные в этом конкретном представлении после нажатия кнопки home. Это работает безупречно на симуляторе iPad, но по какой-то причине он потерпел крах при попытке отредактировать данные на симуляторе iPhone. Я подумал, что это, вероятно, проблема с размещением applicationDidEnterBackground: в контроллере представления, но если бы это было проблемой, то не будет ли он также падать на симуляторе iPad?
Я знаю, что должен поместить applicationDidEnterBackground в делегат приложения, но мой метод выглядит примерно так:
- (void)applicationDidEnterBackground:(NSNotification *)notification {
NSMutableArray *array = [[NSMutableArray alloc] init];
[array addObject:firstField.text];
[array addObject:secondField.text];
[array writeToFile:[self dataFilePath] atomically:YES];
}
Если я добавлю это в App Delegate, конечно, он не распознает firstField или secondField, потому что я не объявил его в заголовочном файле, не синтезировал его или что-либо еще. Если бы я объявил все в App Delegate, то выходы в моем nib-файле потерпят неудачу, потому что каждый из классов владельца файла является одним из тех определенных контроллеров представления.
Является ли размещение приложения DidEnterBackground: даже не моей проблемой, так как оно отлично работает на симуляторе iPad?
Кроме того, он отлично работал на симуляторе iPhone. Я изменил фон просмотра изображения на всех перьях, затем это начало происходить. Я перепроверил все свои розетки и акции, и они отлично совпадают.
РЕДАКТИРОВАТЬ: я исправил. Оказывается, у меня было дополнительное поле, которое я решил добавить к пиру iPad, но не к iPhone. Я, хотя это было бы хорошо, но не тот случай. Это объясняет все странности, которые происходили. Я удалил поле в перо iPad, и все в порядке. Филипп, большое спасибо за вашу помощь и предложение посмотреть ее для меня, это невероятно щедро.