7 | 11月 | 2011 | HMDT Blog

カテゴリー : 2011年 11月7日

iCloudその1 NSUbiquitousKeyValueStoreを使う


先日、MSM 2011でiCloudのセッションを行ってきました。参加された方、お疲れ様でした。

iCloudは考慮しなくちゃいけないことがたくさんあって、90分のセッションじゃとても足りねーぜ!および、会場からたくさんの質問があったんだけど、答えられないものがあってすげー悔しい!ということで、この場を借りてそれらをフォローしていくよん。

iCloudのプログラミングスタイルは、大きく分けて2つある。簡単なものと複雑なもの。簡単なものはNSUbiquitousKeyValueStoreを使うもの。複雑なものはUIDocumentを使うもの。まずは、簡単な方から突っ込んでいってみよう。

NSUbiquitousKeyValueStoreは、一言で言ってしまえば、クラウド対応のNSUserDefaults。setObject:forKey:や、objectForKey:といったメソッドを使って、複数デバイスでデータを同期できる。たとえば、クラウドにデータを保存するのはこんな感じ。

// Get KeyValueStore
NSUbiquitousKeyValueStore* store;
store = [NSUbiquitousKeyValueStore defaultStore];

// Set value
[store setObject:@"Steeve" forKey:@"name"];

// Synchronize
BOOL result;
result = [store synchronize];

読み出すのはこうだ。

// Get KeyValueStore
NSUbiquitousKeyValueStore* store;
store = [NSUbiquitousKeyValueStore defaultStore];

// Get value
NSString* name;
name = [store objectForKey:@"name"];

ほら、簡単だ!これだけでクラウド同期できるぜ。

だけどこれをアプリに組み込むとなると、それはそれでいろいろなトピックがあって。と言う話は、次回に続く。