Сдвиг строк в UITableView

Я просмотрел несколько форумов и прочитал разные темы, но ответа не нашел. Мне очень нужна помощь. У меня есть массив, в котором хранятся метки, содержимое которых я отображаю в строке UITableView. Вторая строка содержит свежие данные, добавленные в тот же массив, и так далее. Мой вопрос: каждый раз, когда метки отображаются в UITableView, я хочу, чтобы они отображались в верхней строке. По сути, более старые продолжают сдвигаться на одну строку вниз. Я понимаю, что мне нужно использовать: "tableView:moveRowAtIndexPath:toIndexPath:", но, похоже, он работает только с массивами, содержимое которых является строкой.


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


person Label    schedule 19.01.2011    source источник


Ответы (2)


Массив, который вы используете, представляет собой упорядоченную коллекцию объектов, поэтому самый простой способ выполнить то, что вы ищете, — добавить новый объект в первую позицию вашего массива. Вы можете добиться этого, используя метод insertObject:atIndex: из NSMutableArray

ex:

[myArray insertObject:newObject atIndex:0];

Таким образом, вам не нужно беспокоиться о перемещении порядка ячеек tableView.

Надеюсь, это поможет, Винсент.

person vdaubry    schedule 19.01.2011

Во-первых, вам не нужно хранить метку в каком-то массиве, вы можете оставить только строку. И когда вы добавляете новый объект в массив, добавьте его в позицию 0, а затем выполните и перезагрузите табличное представление.

person Alex Terente    schedule 19.01.2011