4. NEC BaaS iOS API の基本

4.1. 非同期呼び出し

NEC BaaS iOS API は、ほぼすべて非同期呼び出しとなります。 API の処理結果は、ブロック構文(Blocks)で受け取る形になります。

以下に、オブジェクトをクエリする場合の例を示します。

NBObjectBucket *bucket = [[NBObjectBucket alloc] initWithBucketName:@"testBucket"];

// クエリ実行
[bucket queryObjectInBackground:[NBQuery new] block:^(NSArray *objects, NSUInteger count, NSError *error) {
    if (!error) {
        // 正常時
        for (NBObject *object in objects) {
            NSLog(@"%@", [object objectForKey:@"description"];
        }
    } else {
        // エラー発生時
        NSLog(@"Error: %@", error);
    }
}];

非同期 API (通常 API 名に 'InBackground' が含まれます)の呼び出し時にブロックを指定します。 API の実行が完了すると指定したブロックが呼び出されます。

処理が成功した場合には error 引数に nil が、失敗した場合にはエラー情報が格納されますので、 最初に nil かどうかを判定する必要があります。

なお、ブロックはすべて UI スレッドで呼び出されるようになっています。 従って、ブロック内から UI 更新などの処理を行うことが可能です。