私は、以下のように4つのUITabBarItemsを持つカスタムUITabBarを持っています。 viewDidLoadでNSITExceptionを与えるUITabBarItemアクション
class BaseItemViewController: UIViewController,UITabBarDelegate{
@IBOutlet var customTabBar: UITabBar!
:
self.customTabBar.delegate = self
カスタム関数:
ここは、私のコードの関連部分です
func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem) {
if item.tag == 0 {
print("Tag one")
} else if item.tag == 1 {
print("Tag two")
} else if item.tag == 2 {
print("Tag three")
} else if item.tag == 3 {
print("Tag four")
}
}
タブバーの項目をクリックすると、操作を行う必要があります。 UIBarButtonItemsにタグを追加しましたが、アプリケーションを実行するとappDelegateファイルの次の行にエラーがあります。
スレッド1言っ
class AppDelegate: UIResponder, UIApplicationDelegate {
:
2017年3月3日18:25:41.318 XXXXXX [信号SIGABRTを、以下のコンソールプリント
1667:706023] * キャッチされない例外のためにアプリケーションを終了しています 'NSUnknownKeyExceptio理由: '[ setValue:forUndefinedKey:]:このクラスはキー値ではありません キーNearbyHotelsButtonのコーディングに準拠しています。 *まずスローコールスタック(0 CoreFoundationの0x010f8494 exceptionPreprocess + 180 1 libobjc.A.dylib
0x00bb9e02 objc_exception_throw + 50 2 CoreFoundationの
0x010f80b1 - [NSException上げる] + 17 3財団
0x0084b7f8 - [NSObjectの(NSKeyValueCoding )のsetValue:forUndefinedKey:] + 282 4財団0x007a5e6a _NSSetUsingKeyValueSetter + 115 5ファンデーション0x007a5def - [NSObjectの(NSKeyValueCoding)のsetValue:forKey:] + 295 6
のUIKit 0x01d1c931 - [のUIViewController のsetValue:forKey:] + 85 7財団
0x007da54b - [NSObject(NSKeyValueCoding)setValue:forKeyPath:] + 384 8 UIKit 0x01f99a62 - [UIRuntimeOutletConnection connect] + 132 9 libobjc.A。dylibの0x00bce00c - [NSObjectのperformSelector:] + 62 10 CoreFoundationの
0x01021131 - [NSArrayのmakeObjectsPerformSelector:] + 273 11のUIKit
0x01f980fc - [UINib instantiateWithOwner:オプション:] + 2102年12のUIKit
0x01d24380 - [のUIViewController _loadViewFromNibNamed:バンドル: ] + 429 13 のUIKit 0x01d24db8 - [のUIViewController loadViewメソッド] + 189 14のUIKit 0x01d251c4 - [のUIViewController loadViewIfRequired] + 154 15のUIKit 0x01d2bcca - [のUIViewController __viewWillAppear:] + 114 16のUIKit
0x01d4ee45 - [のUIViewController(UIContainerViewControllerProtectedMethods)beginAppearanceTransition :アニメーション:] + 202 17 UIKit
0x01d61258 - [UINavigationController _startCustomTransition:] + 1389 18 UIKitは 0x01d7302d - [UINavigationController _startDeferredTransitionIfNeeded:] + 803 19のUIKit 0x01d7439e - [UINavigationController __viewWillLayoutSubviews] + 68 20のUIKit 0x01f594b7 - [UILayoutContainerView layoutSubviews] + 252 21のUIKit
0x01c253d4を - [UIViewの(CALayerDelegate)layoutSublayersOfLayer:] + 810 22 libobjc.A.dylib 0x00bce059 - [NSObjectの performSelector:withObject:] + 70 23 QuartzCore
0x07ac7096 - [CALayerのlayoutSublayers] + 144 24 QuartzCore
0x07aba8b6 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 388 25 QuartzCore 0x07aba71a _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 26 26 QuartzCore 0x07aacee7 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 317 27 QuartzCore 0x07ae1847 _ZN2CA11Transaction6commitEv + 561 28 QuartzCore 0x07ae30b8 _ZN2CA11Transaction17flush_transactionEv + 50 29のUIKit
0x01b86f55 _afterCACommitHandler + 197 30 CoreFoundationの
0x0100a75e __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION + 30 31 CoreFoundationの0x0100a6be __CFRunLoopDoObservers + 398 32 CoreFoundation 0x0100003c __CFRunLoopRun + 1340 33 CoreFoundation 0x00fff846 CFRunLoopRunSpecific + 470 34 CoreFoundationの
0x00fff65b CFRunLoopRunInMode + 123 35 GraphicsServices
0x04308664 GSEventRunModal + 192 36 GraphicsServices
0x043084a1 GSEventRun + 39 145 + 104 37のUIKit
0x01b54eb9 UIApplicationMain + 160 38 Voyate
0x000d6681主libdyld.dylib
0x04b20a25スタート+ 1 40?
0x00000001には0x0 + 1)のlibC++ abi.dylib:タイプNSExceptionのキャッチされない 例外(lldb)
で終結Iはthis questionに同様の例を用いてこれを試みました。このエラーはなぜ発生しますか?
問題はあなたのボタンにありますこのボタンをチェックする 'NearbyHotelsButton'はあなたが使用しているかどうか ' –
これを見てくださいhttp://stackoverflow.com/questions/3088059/what-does-this-mean-nsunknownkeyexception- reason-this-class-is-not-key-v –