我有一個UIButton是在着陸時會彈出一個UIViewController
查看。在viewDidLoad
,應用程序用的一個異常崩潰:的iOS崩潰
- [的UILabel stringByTrimmingCharactersInSet:]:無法識別的選擇發送到實例0x16674e30
這裏是代碼導致崩潰:
viewController.navigationController.navigationBar.barStyle = UIBarStyleBlack;
UIImage *logo = [UIImage imageNamed:backgroundImageName];
UIImageView *logoView = [[UIImageView alloc] init];
logoView.image = logo;
logoView.frame = CGRectMake(0, 0, 50, 30);
viewController.navigationItem.titleView = logoView; // crash at this line
最後一行是導致崩潰的一個。我將SWRevealController用作幻燈片左側抽屜樣式菜單。我有5其他UIViewControllers
使用完全相同的代碼,並正常工作,但我無法找到他們和其他類之間的任何區別。我知道這看起來可能有點模糊,但我不確定現在到了哪裏來解決這個問題。任何幫助將不勝感激。
這裏是在主線程崩潰的堆棧:
#0 0x378416a0 in objc_exception_throw()
#1 0x2d4e47b6 in -[NSObject(NSObject) doesNotRecognizeSelector:]()
#2 0x2d4e30ae in ___forwarding___()
#3 0x2d431dc8 in __forwarding_prep_0___()
#4 0x2fcfc78e in -[UINavigationItem initWithTitle:]()
#5 0x2fcfc6dc in -[UIViewController(UINavigationControllerItem) navigationItem]()
#6 0x00110b94 in -[CSUtility addleftButtonToNavItem:rightButton:background:rightButtonTitle:forViewController:revealViewController:overrideLeft:] at /Users/shawn/Documents/TruthIt/TruthIOS/TruthiOS/TruthiOS/CSUtility.m:59
#7 0x0012cd92 in -[CSQuestionDetailViewController viewDidLoad] at /Users/shawn/Documents/TruthIt/TruthIOS/TruthiOS/TruthiOS/CSQuestionDetailViewController.m:227
#8 0x2fc6995a in -[UIViewController loadViewIfRequired]()
#9 0x2fc69718 in -[UIViewController view]()
#10 0x2fdf5c2a in -[UINavigationController _startCustomTransition:]()
#11 0x2fd13a16 in -[UINavigationController _startDeferredTransitionIfNeeded:]()
#12 0x2fd13820 in -[UINavigationController __viewWillLayoutSubviews]()
#13 0x2fd137b8 in -[UILayoutContainerView layoutSubviews]()
#14 0x2fc65352 in -[UIView(CALayerDelegate) layoutSublayersOfLayer:]()
#15 0x2f8eb942 in -[CALayer layoutSublayers]()
#16 0x2f8e7166 in CA::Layer::layout_if_needed(CA::Transaction*)()
#17 0x2f8e6ff8 in CA::Layer::layout_and_display_if_needed(CA::Transaction*)()
#18 0x2f8e6a0c in CA::Context::commit_transaction(CA::Transaction*)()
#19 0x2f8e681e in CA::Transaction::commit()()
#20 0x2f8e054c in CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*)()
#21 0x2d4abf68 in __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__()
#22 0x2d4a98f6 in __CFRunLoopDoObservers()
#23 0x2d4a9c42 in __CFRunLoopRun()
#24 0x2d414470 in CFRunLoopRunSpecific()
#25 0x2d414252 in CFRunLoopRunInMode()
#26 0x321482ea in GSEventRunModal()
#27 0x2fcc9844 in UIApplicationMain()
#28 0x00111d7c in main at /Users/shawn/Documents/TruthIt/TruthIOS/TruthiOS/TruthiOS/main.m:16
這是還挺有趣的,如果切換視圖代碼到viewWillAppear
我還是從我的代碼獲得崩潰只是沒有。下面是堆棧跟蹤:
Thread 1, Queue : com.apple.main-thread
#0 0x378416a0 in objc_exception_throw()
#1 0x2d4e47b6 in -[NSObject(NSObject) doesNotRecognizeSelector:]()
#2 0x2d4e30ae in ___forwarding___()
#3 0x2d431dc8 in __forwarding_prep_0___()
#4 0x2fcfc78e in -[UINavigationItem initWithTitle:]()
#5 0x2fcfc6dc in -[UIViewController(UINavigationControllerItem) navigationItem]()
#6 0x2fd1559a in -[UINavigationController _hasTranslucentNavigationBarIncludingViewController:]()
#7 0x2fd1542c in -[UINavigationController _shouldNavigationBarInsetViewController:orOverlayContent:]()
#8 0x2fd14c3e in -[UINavigationController _frameForViewController:]()
#9 0x2fdf5c48 in -[UINavigationController _startCustomTransition:]()
#10 0x2fd13a16 in -[UINavigationController _startDeferredTransitionIfNeeded:]()
#11 0x2fd13820 in -[UINavigationController __viewWillLayoutSubviews]()
#12 0x2fd137b8 in -[UILayoutContainerView layoutSubviews]()
#13 0x2fc65352 in -[UIView(CALayerDelegate) layoutSublayersOfLayer:]()
#14 0x2f8eb942 in -[CALayer layoutSublayers]()
#15 0x2f8e7166 in CA::Layer::layout_if_needed(CA::Transaction*)()
#16 0x2f8e6ff8 in CA::Layer::layout_and_display_if_needed(CA::Transaction*)()
#17 0x2f8e6a0c in CA::Context::commit_transaction(CA::Transaction*)()
#18 0x2f8e681e in CA::Transaction::commit()()
#19 0x2f8e054c in CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*)()
#20 0x2d4abf68 in __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__()
#21 0x2d4a98f6 in __CFRunLoopDoObservers()
#22 0x2d4a9c42 in __CFRunLoopRun()
#23 0x2d414470 in CFRunLoopRunSpecific()
#24 0x2d414252 in CFRunLoopRunInMode()
#25 0x321482ea in GSEventRunModal()
#26 0x2fcc9844 in UIApplicationMain()
#27 0x00124cf4 in main at /Users/shawn/Documents/TruthIt/TruthIOS/TruthiOS/TruthiOS/main.m:16
的想法好,謝謝rmaddy我認爲你是對的東西,但我仍然沒有得到它相當所有的竟然有辦法。我(愚蠢地,我知道,我在這裏急着編碼)有一個名稱標題定義的UILabel。我改變了對questionTitle,現在我收到一個不同的錯誤 - [的UILabel copyWithZone]無法識別的選擇發送到實例,再一次在這裏是堆棧跟蹤:
Thread 1, Queue : com.apple.main-thread
#0 0x378416a0 in objc_exception_throw()
#1 0x2d4e47b6 in -[NSObject(NSObject) doesNotRecognizeSelector:]()
#2 0x2d4e30ae in ___forwarding___()
#3 0x2d431dc8 in __forwarding_prep_0___()
#4 0x2fcfb9a8 in -[UIViewController setTitle:]()
#5 0x2de203b6 in -[NSObject(NSKeyValueCoding) setValue:forKey:]()
#6 0x2de31ffc in -[NSObject(NSKeyValueCoding) setValue:forKeyPath:]()
#7 0x2d4507e8 in -[NSArray makeObjectsPerformSelector:]()
#8 0x2ffc44de in -[UINib instantiateWithOwner:options:]()
#9 0x2ff260fa in -[UIViewController _loadViewFromNibNamed:bundle:]()
#10 0x2fd87b58 in -[UIViewController loadView]()
#11 0x2fc6979c in -[UIViewController loadViewIfRequired]()
#12 0x2fc69718 in -[UIViewController view]()
#13 0x2fdf5c2a in -[UINavigationController _startCustomTransition:]()
#14 0x2fd13a16 in -[UINavigationController _startDeferredTransitionIfNeeded:]()
#15 0x2fd13820 in -[UINavigationController __viewWillLayoutSubviews]()
#16 0x2fd137b8 in -[UILayoutContainerView layoutSubviews]()
#17 0x2fc65352 in -[UIView(CALayerDelegate) layoutSublayersOfLayer:]()
#18 0x2f8eb942 in -[CALayer layoutSublayers]()
#19 0x2f8e7166 in CA::Layer::layout_if_needed(CA::Transaction*)()
#20 0x2f8e6ff8 in CA::Layer::layout_and_display_if_needed(CA::Transaction*)()
#21 0x2f8e6a0c in CA::Context::commit_transaction(CA::Transaction*)()
#22 0x2f8e681e in CA::Transaction::commit()()
#23 0x2f8e054c in CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*)()
#24 0x2d4abf68 in __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__()
#25 0x2d4a98f6 in __CFRunLoopDoObservers()
#26 0x2d4a9c42 in __CFRunLoopRun()
#27 0x2d414470 in CFRunLoopRunSpecific()
#28 0x2d414252 in CFRunLoopRunInMode()
#29 0x321482ea in GSEventRunModal()
#30 0x2fcc9844 in UIApplicationMain()
#31 0x0008cccc in main at /Users/shawn/Documents/TruthIt/TruthIOS/TruthiOS/TruthiOS/main.m:16
試過一個cmd-shift-k?另外,嘗試在視圖中包裝圖像視圖? – Undo
是的,我只是再試一次,沒有骰子。 :( –
你可以發佈你的籌碼? –