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

Posted

技术标签:

【中文标题】选择没有关联 JSON 响应的单元格时该怎么做【英文标题】:What to do when selecting cell with no JSON response associated 【发布时间】:2013-05-29 22:20:37 【问题描述】:

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


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

我在LeafViewController 表视图中列出了所有Leafs,如果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;

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

现在,如果我选择一个 Leaf 单元格,但没有与之关联的 Towns,那么它会转到空白的 TownViewController,因为没有关联的城镇。

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

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

【问题讨论】:

【参考方案1】:

这样的东西应该可以工作

- (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

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

【讨论】:

感谢您的回复!这很有道理,我今晚要试一试-

以上是关于选择没有关联 JSON 响应的单元格时该怎么做的主要内容,如果未能解决你的问题,请参考以下文章

单击单元格时列表视图更改图标

循环选择单元格时需要对象错误

选择表格单元格时删除键盘

从 json 填充单元格时表为空

JSON响应未在单元格内显示

编辑 QTableView 单元格时设置初始文本