Так что я делаю простую программу в Objective-C с одним табличным представлением, которое отображает аэропорты и связанные с ними коды аэропортов, а также позволяет пользователю добавлять новые аэропорты.NSMutableArray продолжает умножать/перезагружать
Я создал класс известных аэропортов и их коды в NSArray, чтобы установить начальные данные таблицы с известными аэропортами. В viewDidLoad я установил местный NSMutableArray равного известных аэропортов массив
- (void)viewDidLoad {
[super viewDidLoad];
self.allAirports = [[GGAirportData knownAirports] mutableCopy];
}
В отдельном ViewController, аэропорту и его данные могут быть добавлен в массив с помощью методов делегата, но, как вы можете догадаться, каждый раз, приложение загружается, имея этот код в viewDidLoad не только сбрасывает мой NSMutableArray * allAirports только в массив * knownAirports, но как только я реализую NSUserDefaults для сохранения добавленных аэропортов, он удваивает количество аэропортов в исходном массиве self.allAirports .. ..также третий аэропорт я добавляю, он троекрит его и т. д.
Итак, мой вопрос в том, как я могу принести известные данные в это приложение без его умножения каждый раз? Где еще я могу объявить и установить эти значения, отличные от viewDidLoad, где он будет оценивать только один раз и никогда больше не оглядываться на массив известных массивов? Я был на этой ошибке уже 3 дня и пробовал все обходные пути, о которых я могу думать. Заранее спасибо
WOW !! Ты просто весь день провел моим другом. Я никогда не думал просто использовать if/else, чтобы проверить значение ключа NSUserDefaults ... большое спасибо за предложение. Кстати ... по какой-то причине я должен был проверить по умолчанию пользователя по если ([числу airportArray] == 0) { // Яд болтовня } По какой-то причине, когда я проверил, если оператор с 'nil' он всегда возвращал nil даже после вычисления выражения else. В любом случае, это ни здесь, ни там, потому что мое приложение работает, и я благодарю вас за миллион! –