我有一個遇到的一段代碼彈出到特定的ViewController在導航堆棧如下膨化到特定的ViewController在導航堆棧
for (UIViewController* viewController in self.navigationController.viewControllers) {
if ([viewController isKindOfClass:[MyGroupViewController class]]) {
MyGroupViewController *groupViewController = (MyGroupViewController*)viewController;
[self.navigationController popToViewController:groupViewController animated:YES];
}
}
目的是彈出到MyGroupViewController。但我不理解這行代碼。
MyGroupViewController *groupViewController = (MyGroupViewController*)viewController;
這裏到底發生了什麼。我不認爲在這裏創建了MyGroupViewController的新實例。
「這裏viewController是MyGroupViewController的基類UWiewController的引用 ,但viewController保存MyGroupViewController對象,因此我們可以在此處鍵入轉換它」。這正是我正在尋找的。因此,使用了已經在導航堆棧中的同一個MyGroupViewController實例。對? –
是的,它與之前推送的實例相同。 –