2015-12-09 4 views
0

У меня есть приложение, наполненное более чем 500 песнями для церквей. Я добавляю новую функцию, которая позволит им создать «слайд-шоу» из выбранных вручную песен. Теперь макет состоит в том, что у них есть UITableView всех песен, а нажатие песни добавляет местоположение файла PPT в NSArray и добавляет галочку в строку. После этого они могут нажать кнопку «Предварительный просмотр», которая даст им таблицу только тех песен, которые они выбрали, в том порядке, в котором они были выбраны.Изменить порядок NSArray на основе UITableView Редактировать

Я хотел бы разрешить режим редактирования для удаления песен или их переупорядочения, но я не уверен, как это сделать, также изменив порядок NSArray, так что элемент 0 будет первой песней, которую они имеют на представлении таблицы, а не только сначала они постучали.

ответ

1

Я предполагаю, что у вас есть массив песен под названием songsArray, который используется для заполнения вида таблицы. Затем, когда происходит переупорядочение, добавьте этот метод.

- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath { 
    NSObject *songToMove = [self.songsArray objectAtIndex:sourceIndexPath.row]; 
    [self.songsArray removeObjectAtIndex:sourceIndexPath.row]; 
    [self.songsArray insertObject:stringToMove atIndex:destinationIndexPath.row]; 
} 

Не забудьте осуществить canMoveForRowAtIndexPath

- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { 
    return YES; 
} 

Это позволяет пользователю изменять порядок всех строк в вашем представлении таблицы, если вы не хотите, чтобы пользователь изменить порядок определенных строк, добавить проверку на indexPath.row и return NO для этой строки.

+0

Спасибо, как бы это выглядело в Obj-C, поскольку я не преобразовал все в Swift. – user717452

+1

См. Обновленный ответ – njuri

+0

Спасибо, давайте это пойдем и посмотрим, как это работает. – user717452

Смежные вопросы