3. NSUserDefaults
• Небольшой набор данных, не
предполагающий запросов
• Примитивные типы данных – NSString,
NSNumber, NSDate, NSArray, NSData,
NSDiceonary
• Другие типы данных нуждаются в
сериализации / десериализации
NSObject <‐> NSData
14. SQLite Persistent Objects
Пример кода
#import "SQLitePersistentObject.h"
// Всего пару строк, и у нас уже есть Entity
@interface Coffee : SQLitePersistentObject {
NSString *coffeeName;
}
@property (nonatomic, retain)
NSString *coffeeName;
@end
15. SQLite Persistent Objects
Пример кода
// Открываем БД
[[SQLiteInstanceManager sharedManager]
setDatabaseFilepath:@”db.sqlite"];
// Создаем и сохраняем данные
Coffee *newCoffee = [Coffee alloc] init];
newCoffee.coffeeName = @”Cognac";
[newCoffee save];
16. SQLite Persistent Objects
Пример кода
Coffee * coffee =
[Coffee findFirstByCriteria:
@"WHERE coffeeName = ’Burn’"];
Кроме этого
• Поддержка связей один к одному, один ко многим,
много ко многим
• Поддержка transient свойств
• Возможность сохранения некоторых классов в базу
(UIImage, UIColor)
17. Core Data
Core Data
• Framework из MacOS, в iPhone SDK с версии 3.0
• Поддерживает три вида хранилищ данных ‐
Binary, inMemory, SQLite
• Полнофункциональная ORM
• Работа на уровне классов
• Язык запросов похож на SQL
• Графический интерфейс для редактирования
модели БД в Xcode
18. Core Data
Core Data
• Поддержка операций undo/redo на графе
объектов
• Эффективная работа с табличными
данными без полной загрузки их в память
• Валидация объектов на этапе сохранения
• Контроль версий модели БД