navigationController.topViewController 对比故事板

navigationController.topViewController vs storyboard

我正在尝试从我的 appdelegate 在 uitableviewcontroller 中注入对 属性 的引用。第一个成功 - 我可以从我的 uitableviewcontroller 引用 xmppStream,但第二个似乎在某处破坏了引用,我不确定为什么。

首先 - 好的,uitableviewcontroller 中的 xmppStream 不是 nil;

UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;

PhoneNumberTableViewController *myViewController = (PhoneNumberTableViewController *)navigationController.topViewController;

[myViewController setXmppStream:[self xmppStream]];

第二 - 获取引用但被销毁,即在 uitableviewcontroller 中 xmppStream 为 nil?

UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];

PhoneNumberTableViewController *tv = [sb instantiateViewControllerWithIdentifier:@"UserRegistration"];

[tv setXmppStream:[self xmppStream]];

如有任何帮助,我们将不胜感激。

谢谢

应该尝试做一个 PhoneNumberTableViewController 的 属性 并且当你需要使用时使用那个变量。喜欢

UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;

_myViewController = (PhoneNumberTableViewController *)navigationController.topViewController;

[myViewController setXmppStream:[self xmppStream]];