OStack程序员社区-中国程序员成长平台

标题: ios - 从API获取数据,需要过滤结果 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 02:13
标题: ios - 从API获取数据,需要过滤结果

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

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

所以现在我只知道如何拉入所有咖啡店,但我不知道在将数据提供到应用程序 TableView 之前如何解析这些数据,这样就不会有星巴克咖啡店列出来。

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

编辑

来自 API 的正常响应类型是:

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

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



Best Answer-推荐答案


如果 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/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4