2012-01-02 76 views
-1

我有2個視圖A和B.視圖A包含一個包含2行的部分的表格。每行都有自己的圖片....我的任務是如何在視圖B中顯示第1行的圖片,當您點擊第一行時。如果您單擊第2行,則視圖B將顯示第2行的圖片。請向我展示使用seque將數據從一個視圖傳遞到另一個視圖的方式。如何使用Segue將數據從一個屏幕傳遞到另一個屏幕

回答

2

說你有兩個視圖控制器ViewControllerA和ViewControllerB也假設你已經創建了故事板視圖之間的賽格瑞的標識符

ViewControllerA應該實現此方法

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if (segue.identifier.length > 0) 
    {   
     if ([segue.identifier isEqualToString:@"your_identifier_name"]) 
     { 
      ViewControllerB *viewControllerB = (ViewControllerB *)segue.destinationViewController; 
      //And you can pass data between the two controller. 
      viewControllerB.currentRow = self.selectedRow; 
     } 
    } 
} 
+0

我剛剛給它一個嘗試。一切都很好,但當我點擊每一行,查看乙不能顯示,我仍然在視圖答:我有遺漏的東西.. – tonytran 2012-01-02 05:24:26

+0

猜測你的賽格沒有建立。所以爲了做到這一點,在ViewControllerA中,你可以在你的tableviewdelegate協議方法中做到這一點 - (無效)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {self performSegueWithIdentifier:@「your_identifier_name sender:self]; } – jajo87 2012-01-02 17:31:47

1

jajo87的答案將工作,但如果你問,你沒有完全掌握MVC設計。兩個ViewController都應該從單個模型(NSObject中的一個自定義子類在您使用command-N創建的文件中)中提取圖像。該模型應該有一個代表您選擇的圖像的屬性。兩個ViewController都可以有指向模型的指針;當你實例化ViewController B時傳遞它們。

相關問題