У меня есть приложение для iPhone с 4 элементами панели вкладок. Одним из них является карта. Я получаю текущее местоположение пользователя и вычисляю расстояние от пользователя до некоторых мест по всему городу. Я храню координаты для этих мест и расстояний в NSMutableDictionary.
distanceDic = [[NSMutableDictionary alloc]initWithObjects:coordinates forKeys:distance];
На моей навигационной панели у меня есть кнопка с надписью «список», поэтому вы можете видеть ближайшие местоположения с вашей текущей позиции. Я делаю вычисления, пока пользователь ждет, чтобы увидеть результат в виде таблицы. Это прекрасно работает, я могу нажать кнопку столько раз, сколько захотите, и получить правильный результат. Однако, если вы нажмете другой элемент панели вкладок, то есть «Новости», вернитесь к карте и нажмите кнопку списка, словарь будет пустым.
Я поставил NSLog с количеством ключей в словаре в
-(void)viewDidDisappear:(BOOL)animated
Этот метод вызывается как при нажатии кнопки «Список» на панели навигации, так и при переходе на другую вкладку. При нажатии кнопки «Список» отображается правильное количество клавиш, но при переходе на другую вкладку отображается 0.
Я не выпустил ни словарь, ни его объекты или ключи. Я не могу понять, что является причиной этого. Есть идеи?