2011-08-05 47 views
0

我有一個根UITableView(視圖1),我有一個按鈕導航欄上的另一個UITableView(視圖2)在導航堆棧上。需要幫助DidSelectRowAtIndex對於UITableView

當我從視圖2中選擇一個單元格時,我將其設置爲彈出回到初始視圖。我希望能夠在視圖1上設置表格的標題,具體取決於從視圖2中選擇的單元格。任何人都可以幫助我做到這一點?

我不是簡單地從視圖2推到視圖1,這將使設置標題更容易。也許我需要創建一些類型的委託方法?

+0

是否使用popviewcontroller彈出回到視圖1? – booleanBoy

+0

是的,我正在那麼做 – Jon

回答

0

您可以使用代表此設置的應用程序委託的價值。創建一個delegate,其中您有一個方法需要NSString作爲參數,並將delegate設置爲具有初始表視圖的視圖控制器。然後你可以得到字符串顯示。

+0

謝謝,這正是我所傾向的。你能否提供更多的細節,因爲我仍然在學習如何與代表合作。謝謝! – Jon

+0

檢查此問題http://stackoverflow.com/questions/2294328/how-to-use-delegate-pattern-on-iphone – visakh7

+0

謝謝,有沒有更簡單的方法,雖然?在控制器彈出之前可能是這樣的? '[[self parentViewController] setSomething:newSomething];' – Jon

0

您可以使用:

NSString *string = [[[tableView cellForRowAtIndexPath: indexPath] textLabel] text];

從圖2和傳遞字符串可以看到

+0

如何從視圖2傳遞字符串到視圖1,因爲我不是從2推到1.我從視圖2彈出來查看1. – Jon

+0

http://stackoverflow.com/search?q =變量+ +視圖+控制器之間 – ohho

1

你要做的是什麼...,

  1. 聲明一個變量NSString的中您的應用程序委託文件(.h)並將其合成到.m文件中。
  2. 在兩個子視圖中創建應用程序委託的實例(查看1 &視圖2)。
  3. 在從視圖2導航回到先前的視圖時,設置應用程序委託的合成變量的標題。 (前提是你已經初始化程序代理本身。)
  4. 現在,你可以使用你已經從圖2
+1

Apple建議不要在VC之間使用全局變量,例如App Delegate。 – Jon

+0

你可以用全局變量替代是用Singleton設計模式創建一個類。 –