【发布时间】:2014-09-10 19:26:22
【问题描述】:
我正在使用以下代码:
@IBAction func popToRoot(sender:UIBarButtonItem){
navigationController.popToViewController(foodforteethViewController(), animated: false)
}
此函数与自定义后退按钮链接,并且 h 文件链接在 objective-c/swift 桥接文件中。问题是我收到如下错误:
2014-07-19 23:35:40.842 FoodForTeeth[9040:238499] * -[UINavigationController popToViewController:transition:] 中的断言失败,/SourceCache/UIKit_Sim/UIKit-3232.3/UINavigationController.m:5345 2014-07-19 23:35:40.845 FoodForTeeth[9040:238499] * 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无法获取弹出视图控制器。” * 首先抛出调用栈: ( 0 CoreFoundation 0x00000001023ec995 异常预处理 + 165 1 libobjc.A.dylib 0x000000010209b9a3 objc_exception_throw + 45 2 CoreFoundation 0x00000001023ec7fa +[NSException raise:format:arguments:] + 106 3 基础 0x0000000101cc637f -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 195 4 UIKit 0x0000000100b456b6-[UINavigationController popToViewController:transition:] + 762 5 FoodForTeeth 0x00000001000272fe _TFC12FoodForTeeth9dietDiary9popToRootfS0_FCSo15UIBarButtonItemT_ + 302 6 FoodForTeeth 0x00000001000274f2 _TToFC12FoodForTeeth9dietDiary9popToRootfS0_FCSo15UIBarButtonItemT_ + 66 7 UIKit 0x00000001009f76b6-[UIApplication sendAction:to:from:forEvent:] + 75 8 UIKit 0x00000001009f76b6-[UIApplication sendAction:to:from:forEvent:] + 75 9 UIKit 0x0000000100af91c0-[UIControl_sendActionsForEvents:withEvent:] + 467 10 UIKit 0x0000000100af858f-[UIControl touchesEnded:withEvent:] + 522 11 UIKit 0x0000000100a3c3b8-[UIWindow_sendTouchesForEvent:] + 735 12 UIKit 0x0000000100a3cce3 -[UIWindow 发送事件:] + 683 13 UIKit 0x0000000100a0a1a1 -[UIApplication 发送事件:] + 246 14 UIKit 0x0000000100a1707a _UIApplicationHandleEventFromQueueEvent + 17591 15 UIKit 0x00000001009f3269 _UIApplicationHandleEventQueue + 1967 16 核心基础 0x0000000102322a31 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 17 17 核心基础 0x000000010231826d __CFRunLoopDoSources0 + 269 18 核心基础 0x00000001023178a4 __CFRunLoopRun + 868 19 核心基础 0x00000001023172d6 CFRunLoopRunSpecific + 470 20 图形服务 0x0000000105475bbc GSEventRunModal + 161 21 UIKit 0x00000001009f6288 UIApplicationMain + 1282 22 FoodForTeeth 0x0000000100054db3 主要 + 115 23 libdyld.dylib 0x0000000102b45145 开始 + 1 ) libc++abi.dylib:以 NSException 类型的未捕获异常终止 (lldb)
怎么了?
【问题讨论】:
-
reason: 'Failed to get popped view controller.'告诉您foodforteethViewController()的结果不是导航堆栈中的对象的实例。请将foodforteethViewController()的声明添加到您的问题中。 -
啊,是的,即使用户没有浏览它,我也会尝试转到该视图控制器