选择没有关联JSON响应的单元格时该怎么办

时间:2013-05-29 22:20:37

标签: ios json restkit

我收到了来自网络服务API 的响应,如下所示:

{
    "springs": [{
        "name": "springName",
        "leafs": [{
            "name": "leafName",
            "towns": [{
                "name": "townName",
            },{
            "name": "leafName2",
            },{

我列出了Leafs表格视图中的所有LeafViewController,如果Leaf有一个与之关联的Towns列表,那么它会转到TownViewController表视图列出了关联的Towns

我在cellForRowAtIndexPath

中完全正确
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"standardCell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    Spring *spring = [springs objectAtIndex:indexPath.section];
    Leaf *leaf = [sport.leafs objectAtIndex:indexPath.row];

    cell.textLabel.text = leaf.shortName;

    return cell;
}

我的问题是有时没有TownLeaf 相关联,在这种情况下我需要检查一下,如果那个Leaf单元格是按下然后我可以弹回主视图控制器,而不是转到列出Town s的下一个视图控制器。

现在,如果我选择一个没有与Leaf相关联的Town单元格,那么它会转移到空白的TownViewController,因为没有城镇相关联。< / p>

我如何检查JSON响应,以便知道是否要转到下一个TownViewController或弹回MainViewController

我可以发布任何必要的额外代码,感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

这样的事情应该有效

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    Spring *spring = [springs objectAtIndex:indexPath.section];
    Leaf *leaf = [sport.leafs objectAtIndex:indexPath.row];
    if(leaf.town)
         //Do whatever
    else
         //Do something different
}

这显然取决于您是否正确配置了叶对象。