SwiftからCoreDataを読み書きする

普通はライブラリを使用すると思いますが、Swiftから直接にCoreDataの読み書きを行う場合は以下のとおり。

書く

let deligate: AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
let context: NSManagedObjectContext = deligate.managedObjectContext!
let entity: NSEntityDescription! = NSEntityDescription.entityForName("Entity", inManagedObjectContext: context)
var newData = Person(entity: entity, insertIntoManagedObjectContext: context)
newData.text = "this is test!"

読む

let deligate: AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
let context: NSManagedObjectContext = deligate.managedObjectContext!
let request: NSFetchRequest = NSFetchRequest(entityName: "Person")
request.returnsObjectsAsFaults = false
var results: NSArray! = context.executeFetchRequest(request, error: nil)

→resultsに取得したデータが格納されています。

プロジェクトを新規作成する際にUse CoreDataにチェックを入れており、AppDeligateの関連する自動生成メソッドを削除していないことが前提です。

参考

SwiftでCoreDataを使ってみる(Stepごとに解説) – Qiita