由于我的应用程序有一段时间问题,只要我解除特定的UIViewController,App崩溃了Tread 1:breakpoint 1.1 7.1。
我已将问题缩小到容器视图'放置在被解雇的视图中。我注意到主控制器首先被释放,而容器视图控制器,但不知道问题是什么。我不确定这个问题是什么时候引入的,因为我在特定的界面问题上工作了几天,从未使用过'导航回来'选项。
我知道上面的描述非常模糊,但是如果调试可能原因的任何建议都会非常受欢迎,因为我在这个阶段花了好几个小时。
#0 0x00000001954440a8 in objc_exception_throw ()
#1 0x0000000184d05d88 in +[NSException raise:format:] ()
#2 0x0000000185b59f00 in NSKVODeallocate ()
#3 0x0000000184be5378 in CFRelease ()
#4 0x0000000184bf1938 in -[__NSArrayM dealloc] ()
#5 0x000000019545d724 in (anonymous namespace)::AutoreleasePoolPage::pop(void*) ()
#6 0x0000000184be8f94 in _CFAutoreleasePoolPop ()
#7 0x0000000184cbb750 in __CFRunLoopRun ()
#8 0x0000000184be91f4 in CFRunLoopRunSpecific ()
#9 0x000000018dd775a4 in GSEventRunModal ()
#10 0x000000018951a784 in UIApplicationMain ()
#11 0x00000001000cdc04 in main at /Users/Luuk/Documents/Xcode development/idoms-portal/iDoms/main.m:14
#12 0x0000000195ab2a08 in start ()
编辑: 我已将其缩小到将容器链接到视图控制器:
@interface DOPrototypeViewController : UIViewController <DOContentSizeCallback> {
@protected
DOMediaPlayerHelper* _mediaPlayerHelper;
__weak NSString* _viewTitle;
IBOutlet UIBarButtonItem *_previousPageBttn;
IBOutlet UIBarButtonItem *_nextPageBttn;
__weak IBOutlet UIView* _contentContainer;
__weak IBOutlet UIScrollView* _scrollView;
}
@property (nonatomic, weak) NSString* viewTitle;;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *contentViewHeightConstraint;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *contentViewWidthConstraint;
一旦IB中的容器被链接,就会出现问题。如上所述,似乎首先在contentContainer控制器之前卸载DOPrototypeViewController。它必须与返回到我感觉到的contentContainer的父视图的链接有关。
答案 0 :(得分:0)
开始查看堆栈跟踪。在崩溃之前看看最后几次通话是什么。这通常会指向正确的方向。
此外,如果您遇到问题,请在此处发布崩溃日志和堆栈跟踪。
答案 1 :(得分:0)
这是一个参考。我添加了一个观察者[[self view] addObserver:self forKeyPath:@&#34; frame&#34; options:0 context:nil];在两个控制器中,当我修复一个时,从未看过第二个并且没有删除它。