2013-05-29 81 views
0

我得到一個迴響應從Web服務API像這樣:在LeafViewController做什麼

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

我列出了所有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細胞按下後,我可以彈回到主視圖控制器,而不是轉到列出Town的下一個視圖控制器。

現在,如果我選擇一個Leaf單元格,並且沒有Town s與之相關聯,則它會繼續到空白的TownViewController,因爲沒有任何城鎮關聯。

如何檢查JSON響應,以便我知道是繼續訪問下一個TownViewController還是回到MainViewController

我可以發佈任何額外的代碼,謝謝你的幫助!

回答

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 
} 

顯然,這取決於你有你的葉對象正確配置了這一點。

+0

感謝您的迴應!這很有道理,我今晚會給它一個鏡頭 - – Realinstomp