Сохранение порядка следования таблиц - учебник Рэя Вендерлиха - PullRequest
1 голос
/ 06 марта 2011

Я пытаюсь изменить учебник, который Рэй Вендерлих создал в: http://www.raywenderlich.com/1888/how-to-create-a-simple-iphone-app-tutorial-part-33 Чтобы я мог изменить порядок таблицы и сохранить новый порядок ошибок, но у меня возникли проблемы с его настройкой.

Я знаю, что должен использовать:

- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath { };

Метод, но мне трудно понять, что делать!

Я пытался задать вопрос Рэю напрямую, но не получил ответа. Если кто-то может помочь мне с этим, я буду так счастлив: -)

UPDATE:

Я решил часть, где я редактирую массив _bugs, используя:

NSString *stringToMove = [[_bugs objectAtIndex:fromIndexPath.row] retain]; 
[_bugs removeObjectAtIndex:fromIndexPath.row]; 
[_bugs insertObject:stringToMove atIndex:toIndexPath.row]; 
[stringToMove release];

Но у меня все еще возникают проблемы с переименованием отдельных файлов или с тем, что мне нужно сделать, чтобы заставить _bugs загружаться в правильном порядке.

Кто-нибудь может мне помочь?

Ответы [ 2 ]

0 голосов
/ 26 августа 2011

Вместо использования removeobject и последующей его замены попробуйте использовать это ... '

[translations exchangeObjectAtIndex:fromindex withObjectAtIndex:toindex];
0 голосов
/ 06 марта 2011

Чтобы изменить порядок табличного представления, вы должны сначала изменить порядок источника данных, из которого они заполняются, а затем перезагрузить часть или целое табличное представление. Обычно эти данные хранятся в массиве и извлекаются методом cellForRowAtIndexPath.

В случае учебника, который вы упомянули, массив, содержащий данные, выглядит как _bugs. Если вы посмотрите, как он удаляет строку, в tableView:commitEditingStyle:forRowAtIndexPath он сначала удаляет элемент в массиве, а затем строку в табличном представлении.

Итак, подведем итог, что вы должны сделать, когда вы хотите изменить порядок табличного представления:

  1. Переупорядочить массив: Здесь вы можете увидеть, как этого добиться.
  2. Вызовите метод [tableView reloadData], чтобы tableView обновил свои данные.

Надеюсь, это помогло вам,

ура

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