しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

ParseでデータのCRUD操作をする

昨日はParseを簡単に触ってみたので次はデータ操作をしてみようと思います。

llcc.hatenablog.com

データの作成

データの作成は以下のように行います。

let testObject = PFObject(className: "TestObject")
testObject["foo"] = "bar"
testObject.saveInBackgroundWithBlock { (success: Bool, error: NSError?) -> Void in
    print("Object has been saved.")
}

データの取得

IDで指定したオブジェクトの取得は下の通りです。

let query = PFQuery(className: "TestObject")
query.getObjectInBackgroundWithId("ObjectID", block: { object, error in
    print(object)
})

データ一覧の取得はfindObjectsメソッドを利用します。

let query = PFQuery(className: "TestObject")
let objects = try? query.findObjects()
print(objects)

条件指定をしたい場合はqueryのwhereKeyを呼び出します。

let query = PFQuery(className: "TestObject")
query.whereKey("foo", containedIn: ["bar"])
let objects = try? query.findObjects()
print(objects)

今回は取り上げなかったのですが、NSPredicateを使った柔軟な取得やlimitを使った件数指定での取得もできるようです。

データの更新

データの更新は作成同様にsaveInBackgroundWithBlockで実施します。

let query = PFQuery(className: "TestObject")
query.getObjectInBackgroundWithId("ObjectID", block: { object, error in
    object?["foo"] = "barbar"
    object?.saveInBackgroundWithBlock { (success: Bool, error: NSError?) -> Void in
        print("Object has been saved.")
    }
})

データの削除

データの削除はdeleteInBackgroundメソッドで実施します。

let query = PFQuery(className: "TestObject")
query.getObjectInBackgroundWithId("ObjectID", block: { object, error in
    object?.deleteInBackground()
})

参考URL

iOS Developers Guide | Parse