11. Core Dataの場合
lazy var managedObjectModel: NSManagedObjectModel = {
let modelURL = NSBundle.mainBundle().URLForResource("RealmTest", withExtension: "momd")!
return NSManagedObjectModel(contentsOfURL: modelURL)!
}()
lazy var persistentStoreCoordinator: NSPersistentStoreCoordinator? = {
var coordinator: NSPersistentStoreCoordinator? =
NSPersistentStoreCoordinator(managedObjectModel: self.managedObjectModel)
let url = self.applicationDocumentsDirectory.URLByAppendingPathComponent("RealmTest.sqlite")
var error: NSError? = nil
var failureReason = "There was an error creating or loading the application's saved data."
if coordinator!.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url,
options: nil, error: &error) == nil {
coordinator = nil
// Report any error we got.
let dict = NSMutableDictionary()
dict[NSLocalizedDescriptionKey] = "Failed to initialize the application's saved data"
dict[NSLocalizedFailureReasonErrorKey] = failureReason
dict[NSUnderlyingErrorKey] = error
error = NSError(domain: "YOUR_ERROR_DOMAIN", code: 9999, userInfo: dict)
NSLog("Unresolved error (error), (error!.userInfo)")
abort()
}
return coordinator
}()
lazy var managedObjectContext: NSManagedObjectContext? = {
let coordinator = self.persistentStoreCoordinator
if coordinator == nil {
return nil
}
var managedObjectContext = NSManagedObjectContext()
managedObjectContext.persistentStoreCoordinator = coordinator
return managedObjectContext
}()
import Foundation
import CoreData
class CDPerson: NSManagedObject {
@NSManaged var name: String
@NSManaged var email: String
@NSManaged var sex: String
@NSManaged var age: NSNumber
@NSManaged var data: NSData
@NSManaged var prefecture: CDPrefecture
}
データモデル定義
クラス作成 モデル読み込み
12. Realmの場合
class RLPerson: RLMObject {
dynamic var name = ""
dynamic var email = ""
dynamic var sex = ""
dynamic var age = 0
dynamic var data : NSData?
dynamic var prefecture : RLPrefecture?
}
クラス定義のみ!
let ret = RLPerson.objectsWhere("age > %d", 40).sortedResultsUsingProperty("age", ascending: true)
すぐに使える!