摘要:rootViewController設置爲一個指針。我改變指針和rootViewController不會改變。如何設置rootViewController指向指針的地址
我將我的rootViewController設置爲一個指向視圖控制器的指針,稱爲'currentViewController'。
將'currentViewController'更改爲指向不同的UIViewController - 並且iPhone/iPad不更新其屏幕。爲什麼?
邊注意以下事項不工作 - 它顯示在索引視圖控制器= 0:
_currentViewController = [self.viewControllers objectAtIndex:0];
[[[UIApplication sharedApplication] delegate] window].rootViewController = _currentViewController;
_currentViewController = [self.viewControllers objectAtIndex:1];
側面說明下面做工作,因爲它顯示在索引1的視圖 - 控制,但沒有任何意義(我已經告訴rootViewController第一次它應該指向哪裏):
_currentViewController = [self.viewControllers objectAtIndex:0];
[[[UIApplication sharedApplication] delegate] window].rootViewController = _currentViewController;
_currentViewController = [self.viewControllers objectAtIndex:1];
[[[UIApplication sharedApplication] delegate] window].rootViewController = _currentViewController;
感謝您的回覆。無論如何,使委託]窗口] .rootViewController ='設置'設置rootViewController指向_currentViewController的地址(而不是複製_currentViewController的值)? – user1709076 2014-08-29 22:09:53
你不會複製任何東西的值......正如lwburk上面所說的,一個指針只保存一個內存地址。這是一個參考類型。任何數量的指針都可能指向相同的內存地址。這與你的實際地址有點類似:如果你在一張紙上寫下你的地址,那不是你的房子......它只是「指向」你的房子,以便我可以找到它:) – 2014-08-29 23:08:15
雖然我應該說..在計算機術語中,內存地址就是被指向的東西,而指針就像現實生活中的「地址」。這可能令人難以置信的混亂。 – 2014-08-29 23:14:48