私のアプリでは、日付ピッカーからデータを入力したい場合はtextfield
フォームがあり、テキストフィールドの入力ビューとして日付ピッカーが割り当てられていて、テキストフィールドのテキストを変更する場合はdatePickerValueChanged
funcにピッカー変更されます。私の問題は、アプリ内のデータピッカーをオフクリックすると、全体のアプリはUIDatePickerクラッシュアプリケーション
任意のアイデア「タイプNSExceptionのキャッチされない例外で終了する」
でクラッシュということでしょうか?ここに私のコードです:@IBOutlet var startDatePickerField: UITextField! override func viewDidLoad() { let startDatePicker:UIDatePicker = UIDatePicker() startDatePicker.datePickerMode = UIDatePickerMode.dateAndTime startDatePickerField.inputView = startDatePicker startDatePicker.addTarget(self, action: #selector(popoverTableViewController.datePickerValueChanged(_:)), for: UIControlEvents.valueChanged) } func datePickerValueChanged(_ sender: UIDatePicker) { let dateFormatter = DateFormatter() dateFormatter.dateStyle = DateFormatter.Style.long dateFormatter.timeStyle = DateFormatter.Style.short startDatePickerField.text = dateFormatter.string(from: sender.date) }
これは、すべてのビューコントローラ "popoverTableViewController"のクラスに含まれています。ありがとう!
2016年7月28日12:50:ここ
ログからクラッシュレポートである00.956 ClockIn_v2 [5935:2049267] - [ClockIn_v2.popoverTableViewController startDateDidBegin:]:認識されないセレクターインスタンス0x7ff571c10720に送信しました2016年7月28日 12:50:00.961 ClockIn_v2 [5935:2049267] *起因 キャッチされない例外 'NSInvalidArgumentException' にアプリを終了理由: 「 - [ClockIn_v2.popoverTableViewController startDateDidBegin:]: 認識されていないセレクタがインスタンス0x7ff571c10720に送信' *ファーストスローコールスタック:(0 CoreFoundation 0x000000010fe5986b exceptionPreprocess + 171 1 libobjc.A。dylib
0x000000010f4b124e objc_exception_throw + 48 2 CoreFoundationの
0x000000010fec7904 - [NSObjectの(NSObjectの)doesNotRecognizeSelector:] + 132 3 CoreFoundationの0x000000010fddfed5 ___forwarding_ + 1013年4 CoreFoundationの0x000000010fddfa58 _CF_forwarding_prep_0 + 120 5のUIKit
0x000000011027aaf0 - [のUIApplication sendAction:へ: From:forEvent:] + 83 6のUIKit 0x00000001103fda69 - [するuicontrol sendAction:全forEvent:] + 67 7のUIKit 0x00000001103fdd82 - [するuicontrol _sendActionsForEvents:withEvent:] + 444 8のUIKit 0x0000000110d5b196 - [UITextFieldの_resignFirstResponder] + 297 9 UIKそれ0x000000011048d780 - [UIResponder _finishResignFirstResponder] + 286 10のUIKit 0x0000000110d5af94 - [UITextFieldの_finishResignFirstResponder] + 49 11のUIKit 0x000000011048d82f - [UIResponder resignFirstResponder] + 140 12 のUIKit 0x0000000110d5ae63 - [UITextFieldの resignFirstResponder] + 136 13のUIKit
0x000000011048d4bf - [ UIResponder becomeFirstResponder] + 358 14 のUIKit 0x0000000110328dae - [UIViewの(階層)becomeFirstResponder] + 138 15のUIKit 0x0000000110d59d2e - [UITextFieldのbecomeFirstResponder] + 51 16のUIKit 0x00000001107af37b - [UITextInteractionAssistant(UITextInteractionAssistant_Internal)setFirstResponderIfNecessary] + 206 17 UIKそれは
0x00000001107b2b46 - [UITextInteractionAssistant(UITextInteractionAssistant_Internal)oneFingerTap:] + 3823 18のUIKit
0x00000001107a081d - [UIGestureRecognizerTarget _sendActionWithGestureRecognizer:] + 57 19のUIKit 0x00000001107a85b4 _UIGestureRecognizerSendTargetActions + 109 20 + 540 21のUIKit 0x00000001107a539d _UIGestureRecognizerSendActions 0x00000001107a613b のUIKit - [UIGestureRecognizer _updateGestureWithEvent:buttonEvent:] + 1177年22のUIKit 0x00000001107911f2 _UIGestureEnvironmentUpdate + 1013年23のUIKit
0x0000000110790db5 - [UIGestureEnvironment _deliverEvent:toGestureRecognizers:usingBlo CK:] + 521 24のUIKit 0x000000011078ff2c - [UIGestureEnvironment _updateGesturesForEvent:ウィンドウ:] + 286 25のUIKit 0x00000001102e945c - [UIWindowのSendEvent:] + 3989 26のUIKit
0x00000001102967a5 - [のUIApplicationのSendEvent:] + 281 27のUIKit
0x0000000110a632c3 dispatchPreprocessedEventFromEventQueue + 3303 28のUIKit 0x0000000110a5be75 __handleEventQueue + 4879 29 CoreFoundationの0x000000010fdff5d1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 17 30 CoreFoundationの0x000000010fde485c __CFRunLoopDoSources0 + 556 31 CoreFoundationの0x000000010fde3d46 __CFRunLoopRun + 918 32 CoreFoundationの
0x000000010fde3754 CFRunLoopRunSpecific + 420 33 GraphicsServices
0x0000000114629a71 GSEventRunModal + 161 34のUIKit
0x0000000110278e9c UIApplicationMain + 159 35 ClockIn_v2
0x000000010eec96dfメイン+ 111 36 libdyld.dylib
のlibC++ ABI)+ 1を起動0x00000001136a968d。dylib:タイプNSException(lldb)
あなたはフルクラッシュレポートを表示します –
Iveはログコンテンツをクラッシュ時に投稿に追加しました。 – user2662468
'popoverTableViewController'は適切に初期化されていますか?セレクタを含むインスタンスがnilの場合、例外がスローされます。 – NSGangster