在我的UINavtigationController應用程序中,我有一個用戶在UITableViewController中選擇一個值,一旦完成,它們將被髮送回先前的UITableViewController,其中必須顯示該值。我期待的問題是,一旦視圖被「彈出」,我假設它的viewUnload被調用,它擺脫了數組,使得它在另一個視圖控制器中無法訪問。如何從另一個視圖控制器訪問一個視圖控制器中的變量?
有什麼想法?
在我的UINavtigationController應用程序中,我有一個用戶在UITableViewController中選擇一個值,一旦完成,它們將被髮送回先前的UITableViewController,其中必須顯示該值。我期待的問題是,一旦視圖被「彈出」,我假設它的viewUnload被調用,它擺脫了數組,使得它在另一個視圖控制器中無法訪問。如何從另一個視圖控制器訪問一個視圖控制器中的變量?
有什麼想法?
您需要使用方法
1->使用NSUserDefault
的人從你的didSelectRowIndex功能通過新的價值,以前的控制器。
iPhone Programming Tutorial – Saving/Retrieving Data Using NSUserDefaults
2->使用Delegate概念。
3->你也可以從你UINavigationController方法訪問以前的ViewController。
可以NSUserDefaults的使用來實現相同的
您可以通過訪問self.parentViewController
第一視圖控制器,所以這將是最好的合成在第一視圖中的數組,然後將其設置你的第二個電話popViewControllerAnimated:
之前。基本上,它是這樣的:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[self.parentViewController setNewArray:myArray];
[self.navigationController popViewControllerAnimated:YES];
}
只要確保你有NSArray *newArray;
和@property (nonatomic, retain) NSArray *newArray
在第一觀看的頭文件中指定,並在實現文件
+1爲代表的合成,這是標準的可可做法。 – jv42 2011-05-29 07:31:51