Как удалить выбранный элемент словарь Plist из ячейки UItableview - PullRequest
0 голосов
/ 23 марта 2012

Я только что создал plist программным способом и теперь вставил номер закладки.

Как удалить выбранный элемент из словаря plist из UItableview.Из commitEditingStyle я создаю массив словаря plist и отображаю растягивающийся порядок на Uitableview

, но когда я выбираю удалить ячейку, тогда приложение увеличивает мой отчет: -

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid update: invalid number of rows in section 0.  The number of rows contained in an existing section after the update (7) must be equal to the number of rows contained in that section before the update (7), plus or minus the number of rows inserted or deleted from that section (0 inserted, 1 deleted).'

my plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-      1.0.dtd">
<plist version="1.0">
<dict>
<key>0</key>
<string>5</string>
<key>1</key>
<string>1</string>
<key>2</key>
<string>2</string>
<key>3</key>
<string>6</string>
<key>4</key>
<string>3</string>
<key>5</key>
<string>3</string>
<key>6</key>
<string>1</string>
</dict>
</plist>

просьба помочь мне, как это сделать

Спасибо

Ответы [ 2 ]

0 голосов
/ 23 марта 2012

После удаления строки из табличного представления количество строк в разделе 0 равно 7.

invalid number of rows in section 0 The number of rows contained in an existing section after the update (7).

Но это должно быть 6, потому что вы удалили элемент.

must be equal to the number of rows contained in that section before the update (7), plus or minus the number of rows inserted or deleted from that section (0 inserted, 1 deleted).

Вы должны проверить, что -(NSInteger)numberOfRowsForSection:(NSInteger)section возвращает. Убедитесь, что объект, который вы хотите удалить, удален из вашего источника данных.

0 голосов
/ 23 марта 2012

Удаление выполняется между [tableView beginUpdates] и [tableView endUpdates], и когда вы хотите удалить строку, вы также должны удалить соответствующий объект из источника данных, чтобы у вас были одинаковые номера как в источнике данных, так и в источнике данных.Tableview

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...