ios - 从API获取数据,需要过滤结果

标签 ios objective-c api restkit foursquare

我正在处理来自 Foursquare API 的数据。

我想获取咖啡店列表,并且正在正确获取该列表(我正在使用 RestKit)...但是一旦获得该列表,最后我需要过滤掉任何属于“星巴克”。

所以现在我只知道如何提取所有咖啡店,但我不知道在获得数据后如何解析该数据,然后再将其提供给应用程序 TableView ,这样就不会有星巴克咖啡店已列出。

我有什么想法可以做到这一点吗?如果您需要我发布的任何可能有帮助的代码片段,请告诉我。谢谢!

编辑

API 的正常响应类型为:

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

所以我需要获取“name”并过滤掉任何“Starbucks”的名称。

最佳答案

如果 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");

我没有测试此代码,但我认为它应该可以帮助您。

关于ios - 从API获取数据,需要过滤结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16071607/

相关文章:

ios - 后台快速 NSTimer

objective-c - 检查 NSArray 中 NSDictionary 的键是否存在的更好选择?

iphone - NSObject 在 layoutSubviews 之后释放

node.js - 删除 API 不起作用

java - 关于创建自己的 SSO 的建议——我应该将其公开给 REST 还是将其包装在 API 中?

objective-c - iOS剪贴板(粘贴)修改

ios - 如何在 swift 中将字符索引从布局管理器转换为字符串比例

ios - 对象被释放但未调用 dealloc

ios - 集成解析时在 Xcode 中出错

security - 如何保护数据免受 HTTPS 的 MITM 攻击?