2

Foursquare API のデータを扱っています。

コーヒーショップのリストを取得したいのですが、それを正しく取得しています(RestKitを使用しています)...しかし、そのリストを取得したら、最後に「スターバックス」であるコーヒーショップを除外する必要があります.

そのため、現時点では、すべてのコーヒー ショップを取得する方法しか知りませんが、データを取得してからアプリ テーブル ビューに提供する前にそのデータを解析して、スターバックスのコーヒー ショップがリストされないようにする方法はわかりません。

どのように私はそれを行うことができますか?役立つかもしれない私のコード スニペットを投稿する必要がある場合はお知らせください。ありがとう!

編集

API からの通常の応答タイプは次のようになります。

"venue": [{
    "name": "ABC Coffee Shop", {

したがって、「名前」を取得して、"Starbucks".

4

2 に答える 2

3

FourSquare で要求にフィルターを適用できない場合、"Starbucks" という名前でフィルター処理するには、次のようにします。

まず、応答を JSON オブジェクト (この場合は辞書) に逆シリアル化します。

NSError *error = nil;
NSDictionary *responseDict = [[NSJSONSerialization JSONObjectWithData:foursquareResponse options:0 error: &error];
NSArray *starbucks = nil;
if (!error) {
    NSArray *coffeeShops = responseDict[@"venue"];
    starbucks = [coffeeShops filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"name = 'Starbucks'"]];
} else {
    // handle the error
}

NSLog(@"Starbucks: %@", starbucks");

私はこのコードをテストしませんでしたが、あなたのやり方を理解できるはずです。

于 2013-04-17T23:32:14.233 に答える