我的問題更多的是「是的」,而不是「如何做到這一點」。 我有一個簡單的應用程序,基於navigationViewController。我有一個viewControllerA推着另一個viewControllerB到堆棧中。我做了什麼 - 在viewControllerB我有一個類型爲viewControllerA的指針,所以當我將它推入堆棧時,我是這樣說的:在iOS中,指針可以在視圖之間傳遞數據嗎?
-(void)buttonPressed{
ViewControllerB * nextView = [ViewControllerB alloc] init];
nextView.lastView = self;
[self.navigationViewController pushViewController:nextView animated:YES];
}
那麼,在新的viewControler我在第一viewControler提供一個值的字段:
lastView.dataString = @"ABC";
所以viewControllerA關閉時我已經在viewControllerA改變字段的值。
我的問題是:可以嗎?你能告訴我爲什麼這不是一個好主意嗎? 我正在使用NSString值。
謝謝你們:)
感謝,就是採用這種可行的理由爲蘋果男孩把我的應用程序從商店關閉? – 2013-02-28 22:39:46
@AlexBrest除非您有上述保留週期(又名強參考週期),否則會導致泄漏並最終導致崩潰。爲了安全起見,使這是弱指針。但是Apple沒有審查你的代碼,所以他們不知道你決定將這個指針調回給呈現視圖'lastView'而不是'delegate',並聲明它是控制器的指針,而不是使用協議。他們正在審查您的應用程序的操作,而不是代碼。 – Rob 2013-03-01 00:16:13
我明白了。非常感謝! – 2013-03-01 22:19:22