Pull to refresh
  • by relevance
  • by date
  • by rating

Предзаполнение базы данных Core Data

Development for iOS *
Tutorial
image Часто для работы iPhone/iPad приложений необходим некоторый «дефолтовый» набор данных в базе. К сожалению, Apple стандартных средств предзаполнения базы приложения разработчикам не предоставляет.
Если необходимое количество данных невелико, то их можно подгрузить в базу во время старта приложения. Если же вам для работы приложения нужен большой объем исходной информации, то такое решение не подойдет, заставлять ждать пользователей пока закончатся все операции подгрузки — это моветон, да и заказчик, увидев как долго загружается ваше приложение, может пересмотреть планы по будущему сотрудничеству.

В этой статье я расскажу как можно быстро предзаполнить sqlite базу приложения, использующего Core Data.

Читать дальше →
Total votes 10: ↑8 and ↓2 +6
Views 4.8K
Comments 12

Использование ActiveRecord для работы с Core Data

Development for iOS *
Sandbox
Введение


Active Record — это паттерн проектирования приложений, использующих для хранения информации базу данных. Таблица базы данных отображается в виде класса приложения, а отображением объекта класса является строка таблицы.
Читать дальше →
Total votes 28: ↑26 and ↓2 +24
Views 6.2K
Comments 14

Разбираем iPhone Core Data Recipes. Часть 1

Development for iOS *
Sandbox

Introduction


Цель данной статьи — помочь начинающему iOS разработчику, понять, как правильно работать с SQLite базой данных используя Core Data на примере iPhone Core Data Recipes. В первой части из серии статей, будет рассмотрено взаимодействие приложения и базы данных, а также работа со связанными записями (Relationships).

Prerequisites


Для самостоятельного изучения исходных текстов данного приложения, вам необходим стандартный набор инструментов:
  • Mac OS X
  • Xcode


Данный набор позволит вам просмотреть, изменить и запустить приложение на симуляторе. В случае же, если вы захотите попробовать запустить его на настоящем iPhone, требуется участие в iOS Developer Program.

А также, что немало важно, нужно базовое понимание структуры языка Objective-C и приложения.

Ссылки на используемые материалы и инструменты предоставлены в разделе References.

Что такое iPhone Core Data Recipes?

Xcode проект от разработчиков из Apple, который дает общее представление о том, как использовать view controllers, table views и Core Data в iPhone приложениях. Конечно, данный проект также актуален для iPad, но в него необходимо внести интерфейсные изменения, для корректного отображения на iPad.

iPhone Core Data Recipes Screenshots

Скриншоты ниже, дают общее представление о интерфейсе приложения. В главном окне «Recipes» — оторбаражается список готовых продуктов. Нажав на один из них, приложение отображает информацию о том, как приготовить данный продукт, его категорию, сколько на это нужно времени, какие и в каком количестве необходимы ингредиенты, а также кнопку которая отображает текстовую инструкцию по приготовлению (скриншот не приведен). Также в приложении есть возмоность конвертации значений между граммами, фунтами и унциями, а также таблица соответствия температур (по цельсию и фаренгейту).
Читать дальше →
Total votes 25: ↑20 and ↓5 +15
Views 34K
Comments 15

Разбираем iPhone Core Data Recipes. Часть 2

Development for iOS *

Introduction


Данная статья, вторая и заключительная статья из серии «Разбираем iPhone Core Data Recipes». Первую часть статьи, вы можете прочитать тут. Цель серии статей — помочь начинающему iOS разработчику, понять, как правильно работать с SQLite базой данных используя Core Data на примере iPhone Core Data Recipes. В заключительной статье мы рассмотрим функционал добавления, редактирования и удаления записей из базы данных.

Prerequisites


Для самостоятельного изучения исходных текстов данного приложения, вам необходим стандартный набор инструментов:
  • Mac OS X
  • Xcode

Данный набор позволит вам просмотреть, изменить и запустить приложение на симуляторе. В случае же, если вы захотите попробовать запустить его на настоящем iPhone, требуется участие в iOS Developer Program.

А также, что немало важно, нужно базовое понимание структуры языка Objective-C и приложения.

Ссылки на используемые материалы и инструменты предоставлены в разделе References.
Читать дальше →
Total votes 13: ↑9 and ↓4 +5
Views 8.4K
Comments 2

Core Data: импорт данных с минимумом кода

Development for iOS *Objective C *
Как и многие разработчики, я не очень люблю писать много кода, особенно там, где это кажется не нужным — на ранних стадиях стараюсь придумать, как этот код оптимизировать и обобщить. Что касается непосредственно Core Data, мне всегда казалось, что все эти бесконечные фетчи и создания новых объектов можно упростить. Тогда я открыл для себя часто упоминаемый на хабре паттерн ActiveRecord и его очень хорошую (на мой взгляд) реализацию на Objective-C — MagicalRecord. Углубляться в описание не буду — все очень доступно описано на странице проекта.
Следующим шагом упрощения должен был быть маппинг данных, поступающих извне.

Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Views 10K
Comments 0

Использование нескольких Persistent Store в Core Data

Programming *Development for iOS *Objective C *
Sandbox
Всем iOS (да и MAC OS X) разработчикам известен такой системный фреймворк как Core Data. Эта штуковина представляет собой достаточно мощную ORM (по крайней мере для мобильной платформы).

Изначально в нашем приложении использовалась одна база данных для всей информации, которую нужно было сохранять в приложении. Но по мере разбухания функциональности стало понятно, что некоторые сущности логичнее расположить в разных базах, или даже в разных типах хранилищ (persistent store). Не буду углубляться в подробности, главное — что изначально монолитное NSSQLiteStore нужно было разделить на несколько.
Читать дальше →
Total votes 2: ↑1 and ↓1 0
Views 4.4K
Comments 3

Core Data в iOS 5: как загрузить и импортировать существующие данные

Development for iOS *Objective C *
Recovery mode
Translation
Здравствуй Хабр. Я предлагаю вам перевод статьи, с помощью которой мне стали очевидны основные возможности Core Data.

Примечание:
Член команды обучающей программы iOS Adam Burkepile любезно обновил ряд Core Data в iOS 5. — В этом посту я немного расскажу об этом.



Это руководство было полностью переписано, чтобы показать более изящный способ предварительно загрузить данные, используя только Core Date вашего iPhone.
Читать дальше →
Total votes 13: ↑9 and ↓4 +5
Views 13K
Comments 6

Разработка iOS-приложения Aviasales.ru. Экран выбора аэропортов

Aviasales corporate blog
При создании приложения Aviasales.ru для iOS перед нами стояло много интересных задач. Одна из них — реализация удобного механизма выбора пунктов отправления и назначения. В этом посте мы бы хотели вкратце рассказать, как мы эту задачу решали и какие возможности iOS SDK при этом использовали.



Возможно вы уже видели этот пост некоторое время назад. Просто мы в прошлый раз написали не туда — и он был снят с публикации. А очень не хочется, чтобы материал пропал. Так что если вы его уже видели — просто не обращайте на него внимания.
Читать дальше →
Total votes 41: ↑30 and ↓11 +19
Views 8.5K
Comments 7

mogenerator для Core Data, о котором нужно знать

Programming *Development for iOS *
Sandbox


Относительно недавно я узнал о mogenerator — замечательном приложении командной строки для генерации классов на основании объектного графа Core Data. И вот что, если вы о нем ещё не знаете, то обязательно стоит с ним познакомиться, использование этого приложения значительно упрощает изменение объектного графа Core Data. mogenerator генерирует по два класса на сущность, один для машинного использования, другой для обеспечения возможности добавления дополнительного функционала. Корректно настроив проект в XCode возможно производить эту генерацию автоматически перед сборкой.
В этой статье я опишу как можно использовать mogenerator с XCode 4 и некоторые полезные мелочи.
Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Views 11K
Comments 3

Core Data для iOS. Глава №1. Теоретическая часть

Development for iOS *Development of mobile applications *Objective C *
Хабралюди, добрый день!
Сегодня хочу начать написание ряда лекций с практическими заданиями по книги Михаеля Привата и Роберта Варнера «Pro Core Data for iOS», которую можете купить по этой ссылке. Каждая глава будет содержать теоретическую и практическую часть.



Содержание:
  • Глава №1. Приступаем (Практическая часть)
  • Глава №2. Усваиваем Core Data
  • Глава №3. Хранение данных: SQLite и другие варианты
  • Глава №4. Создание модели данных
  • Глава №5. Работаем с объектами данных
  • Глава №6. Обработка результатирующих множеств
  • Глава №7. Настройка производительности и используемой памяти
  • Глава №8. Управление версиями и миграции
  • Глава №9. Управление таблицами с использованием NSFetchedResultsController
  • Глава №10. Использование Core Data в продвинутых приложениях


Читать дальше →
Total votes 47: ↑44 and ↓3 +41
Views 109K
Comments 48

Core Data для iOS. Глава №1. Практическая часть

Development for iOS *Development of mobile applications *Objective C *
Хабралюди, добрый день!
Сегодня хочу начать написание ряда лекций с практическими заданиями по книги Михаеля Привата и Роберта Варнера «Pro Core Data for iOS», которую можете купить по этой ссылке. Каждая глава будет содержать теоретическую и практическую часть.



Содержание:
  • Глава №1. Приступаем (Практическая часть)
  • Глава №2. Усваиваем Core Data
  • Глава №3. Хранение данных: SQLite и другие варианты
  • Глава №4. Создание модели данных
  • Глава №5. Работаем с объектами данных
  • Глава №6. Обработка результатирующих множеств
  • Глава №7. Настройка производительности и используемой памяти
  • Глава №8. Управление версиями и миграции
  • Глава №9. Управление таблицами с использованием NSFetchedResultsController
  • Глава №10. Использование Core Data в продвинутых приложениях


Очень много больших картинок. Осторожно.
Total votes 35: ↑30 and ↓5 +25
Views 25K
Comments 24

Core Data для iOS. Глава №2. Теоретическая часть

Development for iOS *Development of mobile applications *Objective C *
Хабралюди, добрый день!
Сегодня хочу начать написание ряда лекций с практическими заданиями по книге Михаеля Привата и Роберта Варнера «Pro Core Data for iOS», которую можете купить по этой ссылке. Каждая глава будет содержать теоретическую и практическую часть.



Содержание:
  • Глава №1. Приступаем (Практическая часть)
  • Глава №2. Усваиваем Core Data
  • Глава №3. Хранение данных: SQLite и другие варианты
  • Глава №4. Создание модели данных
  • Глава №5. Работаем с объектами данных
  • Глава №6. Обработка результатирующих множеств
  • Глава №7. Настройка производительности и используемой памяти
  • Глава №8. Управление версиями и миграции
  • Глава №9. Управление таблицами с использованием NSFetchedResultsController
  • Глава №10. Использование Core Data в продвинутых приложениях


Очень-очень много букв. Осторожно.
Total votes 33: ↑31 and ↓2 +29
Views 33K
Comments 10

Core Data для iOS. Глава №2. Практическая часть

Development for iOS *Development of mobile applications *Objective C *
Хабралюди, добрый день!
Сегодня хочу начать написание ряда лекций с практическими заданиями по книге Михаеля Привата и Роберта Варнера «Pro Core Data for iOS», которую можете купить по этой ссылке. Каждая глава будет содержать теоретическую и практическую часть.



Содержание:
  • Глава №1. Приступаем (Практическая часть)
  • Глава №2. Усваиваем Core Data (Практическая часть)
  • Глава №3. Хранение данных: SQLite и другие варианты
  • Глава №4. Создание модели данных
  • Глава №5. Работаем с объектами данных
  • Глава №6. Обработка результатирующих множеств
  • Глава №7. Настройка производительности и используемой памяти
  • Глава №8. Управление версиями и миграции
  • Глава №9. Управление таблицами с использованием NSFetchedResultsController
  • Глава №10. Использование Core Data в продвинутых приложениях

Читать дальше →
Total votes 32: ↑26 and ↓6 +20
Views 23K
Comments 38

Core Data для iOS. Глава №3. Теоретическая часть

Development for iOS *Development of mobile applications *Objective C *
Хабралюди, добрый день!
Сегодня хочу начать написание ряда лекций с практическими заданиями по книге Михаеля Привата и Роберта Варнера «Pro Core Data for iOS», которую можете купить по этой ссылке. Каждая глава будет содержать теоретическую и практическую часть.



Содержание:

Читать дальше →
Total votes 26: ↑23 and ↓3 +20
Views 26K
Comments 4

Core Data для iOS. Глава №4. Теоретическая часть

Development for iOS *Development of mobile applications *Objective C *
Хабралюди, добрый день!
Сегодня хочу начать написание ряда лекций с практическими заданиями по книге Михаеля Привата и Роберта Варнера «Pro Core Data for iOS», которую можете купить по этой ссылке. Каждая глава будет содержать теоретическую и практическую часть.



Содержание:

Читать дальше →
Total votes 26: ↑25 and ↓1 +24
Views 31K
Comments 16

Многопоточная Core Data

Development for iOS *Objective C *
Sandbox
Как известно, Core Data является мощным Apple фреймворком для управления объектным графом. На Хабре немало статей о Core Data, тем не менее, многопоточность освещена достаточно слабо, а, как мне кажется, вопросом о том как правильно ее реализовать, задавался почти каждый.
Читать дальше →
Total votes 8: ↑7 and ↓1 +6
Views 23K
Comments 13

Не нужно бояться Core Data

VK corporate blog Development for iOS *Objective C *
Давно подметил, что среди многих своих коллег по цеху присутствует некоторая подозрительность и даже в некотором роде неприязнь к Core Data, причем некоторые к фреймворку даже и не притрагивались. Чего уж там, и я в начале своего пути освоения новой платформы относился к нему предвзято, пойдя на поводу у подобных комментариев. Но не стоит поддаваться предрассудкам и мифам, не потрогав продукт самостоятельно. Тем из нас, кто пошел «против системы», но еще не постиг инструмент полностью, я и посвящаю эту статью. На основе небольшого примера, основанного на реальной задаче разработки мобильного клиента нашей социальной сети Мой Мир, я хочу рассказать о некоторых «подводных» камнях и заострить внимание начинающего разработчика на важных моментах оптимизации использования Core Data. Предполагается, что читающий уже имеет представление, для чего нужны основные элементы Core Data (NSManagedObjectContext, NSPersistentStoreCoordinator и т.д.) и хотя бы поверхностно ознакомлен с API.

Наш кейс: необходимо разработать приложение, позволяющее хранить и структурировать большой объем фотографий с различной метаинформацией о них. Для этого нам потребуется Core Data… и все.

Core Data rulezzz!
Читать дальше →
Total votes 55: ↑41 and ↓14 +27
Views 33K
Comments 27

Использование MagicalRecord при разработке iOS приложений

Development for iOS *Development of mobile applications *Objective C *
Translation
Tutorial
Хабралюди, добрый день!

Сегодня Вашему вниманию хочу представить очередной перевод, не судите строго :) Надеюсь, Вам этот материал пригодится в работе.

В течение многих лет, Core Data была неотъемлемой частью многих OS X и iOS-приложений, обеспечивая сохранение и запрашивая пользовательские данные. Компания Apple тратит много усилий для того, чтобы API Core Data было проще в использовании и облегчала разработчикам процесс интегрирования в приложения.

Этот факт указывает на то, что Core Data является сложно-модифицируемой проектом. Даже если вы знаете как пользоваться Data Core, выполнение простых, ежедневных задач может показаться вам сложной и объемной работой. Хорошо, что существует MagicalRecord – независимая библиотека для Core Data, созданная MagicalPanda. А это учебное пособие научит Вас, как ускорить работу с MagicalRecord быстро и легко.

MagicalRecord – прост в использовании, хорошо разработан и популярен. Авторы проекта заявил, что основная задача MagicalRecord – очистка кода который Вам нужно писать для использования Core Data и с помощью одной простой строки кода сделать выборку данных, одновременно позволяя пользователю оптимизировать производительность. «Как это возможно?» — подумаете Вы. Это возможно благодаря удобной технологии, которая использует один и тот же шаблон для настройки, запросов и обновления Core Data. Особенностью дизайна является влияние Ruby on Rails’ системы хранения данных ActiveRecord.

Читать дальше →
Total votes 24: ↑16 and ↓8 +8
Views 22K
Comments 5

Мультиконтекстность в Core Data

Programming *Development for iOS *Objective C *
Translation
Всем привет.

Когда Вы начинаете использовать CoreData для сохранения данных в Ваших приложениях, Вы начинаете работать с единственным управляемым объективным контекстом / managed object context (MOC). Это — то, что используется в шаблоне при создание проекта в xCode, если Вы при создание проекта ставите галочку рядом с «Use Core Data».

image

Читать дальше →
Total votes 8: ↑6 and ↓2 +4
Views 21K
Comments 1

Core Data: особенности использования и синхронизация в iCloud

e-Legion corporate blog Development for iOS *Development of mobile applications *
Tutorial
Настал вторник, а значит мы выкладываем очередной доклад с конференции мобильных разработчиков #MBLTDev. Доклад посвящен фреймворку Core Data, работы с которым большинство iOS–разработчиков склоны избегать из-за его сложности.

Руслан Шевчук, iOS–разработчик компании Aviasales, не побоялся разобраться с Core Data и на конференции представил доклад о том, как можно использовать его в iCloud.


Презентация

Руслан рассказал про задачи, которые Core Data решает в приложении Aviasales, его особенности, многопоточность, версионность, синхронизацию, проверку нарушения целостности связей, определение и удаление дубликатов, а также про преимущества Private Queue над Confinement Concurrency.
Читать дальше →
Total votes 22: ↑19 and ↓3 +16
Views 9K
Comments 4
1