2012-10-09 30 views
0

我在第一個視圖中有一個UIButton。當我點擊一個按鈕時,我用數據推送了具有表格視圖的第二個視圖。我希望​​在第二個視圖中將用戶選擇的特定行的數據發送到第一個視圖。簡而言之,第二個視圖在選擇一行時在第一個視圖上查看行數據在彈出到第一視圖?請幫助。如何將特定行數據發送到當前tableview中選定行的上一個視圖?

在此先感謝。

+0

所以,你想從一個視圖中的數據傳遞到另一個根據是什麼小區的用戶衝牀?您是否在您的應用中使用Storyboard或使用.xib –

+0

發佈了一些代碼.... – Venkat

+0

不,我不使用故事板。 –

回答

2

您可以使用委託將數據從第2視圖中的選定行發送到第1視圖。 我寫了一篇關於如何在這裏使用代表的教程:http://krodev.wordpress.com/2012/10/08/objective-c-delegates/

當您設置一個委託,使用第二視圖的方法來選定行的數據發送回第一視圖:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    // row index 
    int rowIndex = indexPath.row. 
    // when you have row index you can get row data from your table view datasource 

    // if your data is NSString (method name depends on your implementation of delegate) 
    [self.firstViewDelegate selectedRowsData:(NSString *)data]; 
    // return to the 1st view 
    [self.navigationController popToRootViewControllerAnimated:YES]; 
} 
+0

嗨,感謝您的幫助。我在第一類中獲得價值,但無法在該類的另一個函數中使用該值。在控制檯中顯示另一個函數內的空值時,我正在打印爲什麼所以有任何建議.. –

+0

歡迎。你是否在第一個類中爲該值創建了實例變量(在第一個類的.h文件中爲該值添加屬性並將其合成到.m文件中),然後將在委託方法中獲得的值賦予該變量?或者,也許你在再次使用它之前釋放它(如果你不使用ARC)。 – JPetric

+0

我不是在故事板工作,或者我已經完成了屬性和合成,但它顯示空值,而我在相同類別的按鈕動作上打印該值 –

0

轉到你的第二個觀點,在方法你UITableView

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

添加條件if(indexPath.row == 0)中,你會使用全局字符串AppDelegate.m文件已經宣佈將數據傳遞到您以前的看法使用popViewController方法。

該字符串將等於您的cell.textLabel.text

if(indexPath.row == 0) 
{ 
textString = cell.textLabel.text; 
} 

等爲您的各種行。同樣,您可以將textString添加到第1個視圖中第一個表的單元格。有任何疑問請告訴。謝謝:)

0
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    Your First View Controller.index = index path.row 
} 
+0

雖然這可能會回答這個問題,但最好包含一點解釋或一些鏈接來幫助解釋*爲什麼*。 –

相關問題