我收到了来自网络服务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;
}
我的问题是有时没有Town
与Leaf
相关联,在这种情况下我需要检查一下,如果那个Leaf
单元格是按下然后我可以弹回主视图控制器,而不是转到列出Town
s的下一个视图控制器。
现在,如果我选择一个没有与Leaf
相关联的Town
单元格,那么它会转移到空白的TownViewController
,因为没有城镇相关联。< / p>
我如何检查JSON响应,以便知道是否要转到下一个TownViewController或弹回MainViewController
?
我可以发布任何必要的额外代码,感谢您的帮助!
答案 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
}
这显然取决于您是否正确配置了叶对象。