我需要發送數據到父視圖控制器;所以(在父母)我創建了一個方法setLocWithName: loc:
來做到這一點。我如何創建一個父控制器的對象?我試圖parentViewController
以及presentingViewController
(如下所示),但是,我發現了警告:如何將父視圖控制器設置爲對象,以便我可以調用其中一個方法?
不相容指針類型初始化「TDViewController * __強」類型「的UIViewController *」
// set object of parent view controller
TDViewController *tDViewController = [[self navigationController] presentingViewController];
// get data
NSArray *locs = [[PLStore sharedStore] allLocs];
PL *setselectedLoc = [locs objectAtIndex:[indexpath row]];
// send data to parent view controller
[tDViewController setLocWithName:[setselectedLoc pLocName] loc:[setselectedLoc loc1]];
// Pop this view controller off the stack
[self.navigationController popViewControllerAnimated:YES];
你是什麼意思的「父母」?你需要描述你擁有的控制器,以及它們如何相互關聯。 – rdelmar 2013-05-01 22:42:56
我只知道它作爲父子關係,但我有一個導航控制器(我不確定是否根視圖的控制器是推在上面,或者如何工作,但我離題了)。然後根視圖控制器是TDViewcontroller的父級(「子級」到根視圖控制器)。 TDViewController被推到根視圖控制器的ontop上,並且這個PLViewController是TDViewController的「子」(或者被推入)TD38Controller – FireSky 2013-05-01 22:57:47
好吧,這不是正確的術語,導航棧上的控制器沒有父子關係彼此(更好地認爲我是兄弟姐妹)。所以,你的結構是:UINavigationController - > rootVC - > TDViewController - > PLViewController?哪個控制器是您發佈的代碼,PLViewController? – rdelmar 2013-05-01 23:20:25