Порядок сортировки массива


Порядок сортировки массива

Наше табличное представление получает свою информацию непосредственно из массива drinks. По сути, номер строки просто связывается с индексом массива в cellForRowAtlndexPath:.

Сортировка массива с использованием NSSortDeseriptor.

Чтобы список в табличном представлении был правильно упорядочен, следует отсортировать массив данных. Именно эту задачу решают объекты NSSortDeseriptor. Вы указываете, что нужно сравнивать (свойство), как сравнивать (необязательный селектор) и в каком порядке должна отображаться информация. В нашем случае элементы должны сортироваться в алфавитном порядке по названию коктейля.

Включите код сортировки в AddDrinkViewController и запустите приложение. Давайте добавим еще один рецепт; он должен оказаться в правильной позиции списка.

Все данные были потеряны при выходе из приложения.

Мы убедились в том, что новый рецепт добавился в массив, но очевидно, новый массив не пережил выхода и перезапуска приложения.

Что нужно делать? И когда?

Петя: Надо сохранять массив после каждого добавления нового рецепта, верно? В этом случае мы будем всегда иметь правильные данные.

Вася: Не надо спешить. Надо помнить о быстродействии и управлении памятью.

Петя: В чем проблема? Всего-то маленький массив.

Вася: Но он будет сохраняться каждый раз, когда мы добавляем новый рецепт.

Петя: Понятно, нам придется многократно читать и сохранять массив. Такое решение неэффективно.

Вася: Тогда в какой момент выполнять сохранение?

Петя: Когда приложение работает в фоновом режиме! В условиях многозадачности приложения не закрываются, а при переходе в фоновый режим можно сохранить данные.

Вася: Как нам это сделать? Как определить, когда пользователь перевел приложение в фоновый режим?

Петя: Как насчет метода applicationDidEnterBackground в делегате приложения?

Вася: Но делегат приложения ничего не знает ни о нашем списке рецептов, ни о том, где его сохранять.

Петя: Логично. В описании UIApplicationDelegate также сказано об оповещении, которое рассылается в этом случае. Наверняка им можно воспользоваться.

Используя дискуссию ребят, а также ваши навыки работы с API, предложите возможную реализацию сохранения массива. Сохранение данных реализуется в файлах RootViewController.m и RootViewController.h.
  • Дата: 22-12-2014, 23:13

Предыдущие статьи сайта:

Понравилась статья? Ставь лайки, рассказывай друзьям!



Отзывы о статье: Порядок сортировки массива

Технологии, секреты и фишки Apple: Iphone, iPad, iPod