ios - JSON AFNetworking iOS 6 查看值是否为 "on"

标签 ios objective-c json afnetworking

我正在尝试检查 JSON 值是“打开”还是“关闭”,然后对其执行操作:

-(IBAction)turnon {
    NSURL *api = [NSURL URLWithString:@"http://app-content.co.uk/api/example.json"];

    NSURLRequest *request = [NSURLRequest requestWithURL:api];

    AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
    self.getinfo = [JSON objectForKey:@"data"];
    NSLog(@"Rapid reply: %@", JSON);
    } failure:nil];

    NSDictionary *getDB= [self.getinfo objectAtIndex:0];

    [operation start];

    if([[getDB objectForKey:@"50min_1"] isEqualToString:@"on"])
    {
        NSLog(@"Works");
    }
    else {
        NSLog(@"Doesn't work");
    }
}

我的 JSON 文件如下所示:

{
    "data": [
      {
        "50min_1": "on",
        "50min_2": "on",
        "50min_3": "on",
        "50min_4": "on",
        "50min_5": "on",
        "50min_6": "on",
        "50min_7": "on",
        "50min_8": "on"
      }
   ]
}

如果我这么说,一切看起来都很好,但是 NSLog 总是报告“不起作用”,这意味着它没有从 JSON 文件中获得正确的值,尽管服务器上有值。

NSLog(@"Rapid reply: %@", JSON); 按原样回复 JSON 文件。 我错过了什么?

最佳答案

问题很简单 - 您试图在操作完成之前很久就处理异步操作的结果。

将您的 if 语句移到完成 block 中。

还有一个建议 - 不要为失败 block 传递 nil。至少您应该提供一个 block 来记录您遇到的任何错误。

关于ios - JSON AFNetworking iOS 6 查看值是否为 "on",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17196705/

相关文章:

javascript - 无法解决 Ext.ux 的依赖关系

在 Struts2 中使用 JSON RPC 时从未调用过 Java 方法

ios - 通过 migratePersistentStore 备份数据库后出现 CoreData : Is there a way to cleanly delete the backuped DB,?

ios - 使用 CAShapeLayer 作为 CAShapeLayer 蒙版时的细边框

ios - UICollectionView 中标题 View 的高度

iphone - 当我想使用outputStream创建文件时,我总是得到-1

java - 如何从java中的json文件中获取value中的特定值?

ios - NSTextAttachment 以某种方式缓存图像。关于如何做有什么想法吗?

iphone - insertSubviewBelow 未在正确的帧 Y 偏移处插入

ios - 找不到用于测试的libxml/tree.h文件