Xamarin.iOS 重新访问页面两次后 NavigationController 为空
Xamarin.iOS NavigationController is null after revisiting page twice
我正在设计一个应用程序,它允许用户登录,提供类别、子类别和子子类别的列表,然后显示这些所选类别中的产品。
为此,我有一个带有 5 个选项卡的 UITabBarController,所有这些选项卡都是 UINavigationControllers,分别具有每个页面的根。
第一个选项卡(称为产品)具有我上面描述的导航结构,Categories -> SubCategories- SubSubCategories -> Products
现在问题来了....
当第一次浏览时,这将完全正常,我能够浏览 select 类别和产品。但是,如果我一直到产品并返回类别并再次开始,如果我 select 一个子类别,navigationController 将 return 空引用异常。
我正在使用 navigationController.PushViewController(viewController, true) 推送视图控制器
并且我没有做现有问题中看到的任何模式演示。
我希望有人能提供帮助。
谢谢,
詹姆斯·麦克纳尔蒂
所以我正在回答我自己的问题.....对于那些可能遇到这个问题甚至可能是给自己的笔记。
所以在我创建的事件中,我忘记了从我的 viewDidDissapear() 方法中的操作中取消附加事件 -
你应该声明....
Tapdelegate.Selected -= EventMethod
这是因为在调用方法之前不这样做或这样做会导致 viewcontroller 留在内存中,因此在使用
时
NavigationController.PushViewController(viewcontroller, bool)
将使用与初始调用事件相同的句柄。
这是一个no.no。非常悲伤!!!!
如果您也遇到这个问题,希望这对您有所帮助。享受吧。
我正在设计一个应用程序,它允许用户登录,提供类别、子类别和子子类别的列表,然后显示这些所选类别中的产品。
为此,我有一个带有 5 个选项卡的 UITabBarController,所有这些选项卡都是 UINavigationControllers,分别具有每个页面的根。 第一个选项卡(称为产品)具有我上面描述的导航结构,Categories -> SubCategories- SubSubCategories -> Products
现在问题来了.... 当第一次浏览时,这将完全正常,我能够浏览 select 类别和产品。但是,如果我一直到产品并返回类别并再次开始,如果我 select 一个子类别,navigationController 将 return 空引用异常。
我正在使用 navigationController.PushViewController(viewController, true) 推送视图控制器 并且我没有做现有问题中看到的任何模式演示。
我希望有人能提供帮助。 谢谢, 詹姆斯·麦克纳尔蒂
所以我正在回答我自己的问题.....对于那些可能遇到这个问题甚至可能是给自己的笔记。
所以在我创建的事件中,我忘记了从我的 viewDidDissapear() 方法中的操作中取消附加事件 - 你应该声明....
Tapdelegate.Selected -= EventMethod
这是因为在调用方法之前不这样做或这样做会导致 viewcontroller 留在内存中,因此在使用
时NavigationController.PushViewController(viewcontroller, bool)
将使用与初始调用事件相同的句柄。 这是一个no.no。非常悲伤!!!!
如果您也遇到这个问题,希望这对您有所帮助。享受吧。