applicationDidEnterBackground: выпуск - PullRequest
0 голосов
/ 05 января 2012

Я написал приложение, которое имеет около 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, и все в порядке. Филипп, большое спасибо за вашу помощь и предложение посмотреть ее для меня, это невероятно щедро.

1 Ответ

1 голос
/ 06 января 2012

Я исправил это.Оказывается, у меня было дополнительное поле, которое я решил добавить к пиру iPad, но не к iPhone.Я, хотя это было бы хорошо, но не тот случай.Это объясняет все странности, которые происходили.Я удалил поле в перо iPad, и все в порядке.Филипп, большое спасибо за вашу помощь и предложение посмотреть ее для меня, это невероятно щедро.

...