我从web服务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;
}
我的问题是,有时没有Town
与Leaf
相关联,在这种情况下,我需要检查,所以如果Leaf
单元格被按下,那么我可以弹出回主视图控制器,而不是去下一个视图控制器,列出Town
s。
现在,如果我选择一个Leaf
单元格,没有与之关联的Town
单元格,那么它会跳转到空白的TownViewController
单元格,因为没有关联的城镇。
我如何检查JSON响应,以便我知道是否要segue到下一个TownViewController或弹出回MainViewController
?
我可以张贴任何额外的代码必要的,感谢帮助!
像这样应该可以工作
- (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
}