代码之家  ›  专栏  ›  技术社区  ›  Mina

如何使用保留关键字访问NSdictionary元素?

  •  0
  • Mina  · 技术社区  · 9 年前

    我的代码从服务器接收一个json数据并呈现在一个UItable中。这里是来自服务器的josn文件的格式:

    [
      {
        "id": 4342,
        "name": "Strawberries and Cream Cake",
        "difficulty": 3,
        "created_at": "2014-09-29T10:43:00.072Z",
        "updated_at": "2014-11-26T11:53:58.451Z",
      }
    ]
    

    我需要访问“id”元素,我在中编写了以下代码。

    (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
    
    NSDictionary *tempDictionary=[recipes objectAtIndex:indexPath.row];
    int recipesID= [tempDictionary objectForKey:@"id"];
    

    这段代码给了我一个错误的数字,加上第二行出现了“不兼容的整数转换指针初始化……”。。。。 我知道id是一个保留关键字,但我需要访问这个元素。此外,我没有实现服务器,因此,我无法更改id元素名称。 你对如何访问它有什么建议吗?

    1 回复  |  直到 9 年前
        1
  •  0
  •   nburk    9 年前

    将最后一行替换为:

    NSInteger recipesID= [[tempDictionary objectForKey:@"id"] intValue];
    

    顺便说一句 id 它本身在iOS上确实是一个保留关键字,但是,您在字符串中使用它,所以编译器不会将其解释为关键字:)所以,这里没有理由担心这一点。