`[[self tableView] reloadData]` изменяет счетчик NSMutableArray - PullRequest
1 голос
/ 16 октября 2011

У меня есть приложение, которое использует UITablewView, и в этом TableView есть NSMutableArray, который содержит данные для отображения в TabelView.Проблема в моем контроллере TableView, который я использую:

[[self tableView] reloadData] 

Чтобы перезагрузить данные TableView, и они работают несколько раз, но не работают в третий раз, вместо этого они изменяют количество массивов встранный способ.

Теперь я читаю подобный вопрос здесь и, скорее всего, у меня есть 2 экземпляра TableView или TableViewController, но я не могу понять, как устранить это?Как определить, есть ли 2 экземпляра объекта, и исправить это?

РЕДАКТИРОВАТЬ: Вот изображение, показывающее, как проходит моя навигация enter image description here

Итак, первый раунд перехода от ScrollView к TableViewвсе отображается правильно.Затем я иду в UIView и обратно в TableView, и он работает нормально.Итак, я возвращаюсь обратно к ScrollView и снова к TableView, и это хорошо.

Но когда я в этот раз перехожу к UIView, тогда возникает проблема с TableView.TableView не отображает изменения.Поэтому я установил точку останова непосредственно перед [[self tableView] reloadData] и обнаружил, что массив _displayedObjetcs меняет счетчик.-1 на самом деле.см. следующие снимки экрана b4 и после того, как я перейду через reloadData just before reloadData, а затем

just after reloadData

1 Ответ

1 голос
/ 16 октября 2011

Я сразу же подумал, что ваше приложение не сохраняется должным образом вашим приложением. Ваше «странное» количество, вероятно, равно числу 234791 ..., что весьма показательно для массива, который был освобожден неправильно. Поэтому я бы проверил, как вы сохраняете и освобождаете этот массив.

Однако, без большего количества размещенного кода, вам больше невозможно помочь.

...