2016-08-08 6 views
3

ボタンをタップしたときにフォトライブラリにアクセスする際に問題が発生しています。ちょうどいつものように私はそれがアクセス可能かどうか尋ねています。私はこのように私の問題を解決したUIImagePickerControllerを使用してフォトライブラリにアクセスした後でクラッシュしました

2016-08-08 23:05:11.209 Auyrma[1799:20237892] -[UIViewController photoLibraryButtonTapped:]: unrecognized selector sent to instance 0x7fd3e9d39ed0 
2016-08-08 23:05:11.214 Auyrma[1799:20237892] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIViewController photoLibraryButtonTapped:]: unrecognized selector sent to instance 0x7fd3e9d39ed0' 
*** First throw call stack: 
(
    0 CoreFoundation      0x0000000113fdcd85 __exceptionPreprocess + 165 
    1 libobjc.A.dylib      0x0000000113a50deb objc_exception_throw + 48 
    2 CoreFoundation      0x0000000113fe5d3d -[NSObject(NSObject) doesNotRecognizeSelector:] + 205 
    3 CoreFoundation      0x0000000113f2bcfa ___forwarding___ + 970 
    4 CoreFoundation      0x0000000113f2b8a8 _CF_forwarding_prep_0 + 120 
    5 UIKit        0x00000001124d6a8d -[UIApplication sendAction:to:from:forEvent:] + 92 
    6 UIKit        0x0000000112649e67 -[UIControl sendAction:to:forEvent:] + 67 
    7 UIKit        0x000000011264a143 -[UIControl _sendActionsForEvents:withEvent:] + 327 
    8 UIKit        0x0000000112649263 -[UIControl touchesEnded:withEvent:] + 601 
    9 UIKit        0x000000011254999f -[UIWindow _sendTouchesForEvent:] + 835 
    10 UIKit        0x000000011254a6d4 -[UIWindow sendEvent:] + 865 
    11 UIKit        0x00000001124f5dc6 -[UIApplication sendEvent:] + 263 
    12 UIKit        0x00000001124cf553 _UIApplicationHandleEventQueue + 6660 
    13 CoreFoundation      0x0000000113f02301 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 
    14 CoreFoundation      0x0000000113ef822c __CFRunLoopDoSources0 + 556 
    15 CoreFoundation      0x0000000113ef76e3 __CFRunLoopRun + 867 
    16 CoreFoundation      0x0000000113ef70f8 CFRunLoopRunSpecific + 488 
    17 GraphicsServices     0x00000001164bcad2 GSEventRunModal + 161 
    18 UIKit        0x00000001124d4f09 UIApplicationMain + 171 
    19 Auyrma        0x000000010e1c2d82 main + 114 
    20 libdyld.dylib      0x0000000114e8492d start + 1 
    21 ???         0x0000000000000001 0x0 + 1 
) 
libc++abi.dylib: terminating with uncaught exception of type NSException 
+0

IBActionがボタンに正しく接続されているかどうか確認しましたか?または、あなたはどこのメソッドphotoLibraryButtonTappedを呼び出しますか? –

+0

@teja yeap、二重チェック。すべてがOKです –

+0

IBであなたの 'UIViewController'にクラスを設定しましたか? –

答えて

7

1.Pleaseチェックターゲットは、同じターゲットにする必要があります。 2. xibを選択して、そのストーリーボードにマッピングされているクラスを削除し、戻してEnterキーを押します。 3.このボタンがフォームをロードしている場合、コントローラを表示するためのカスタム表示が必要です。カスタム表示が正しいターゲットに追加されていることを確認し、再度ibactionを使用して内部を再マップする必要があります。

これはあなたの会話を見れば分かります。

0

  1. はUtilitesを
  2. オープンアイデンティティインスペクタを開き、以下の私のコード

    @IBAction func photoLibraryButtonTapped(sender: UIButton) { 
    
         if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.PhotoLibrary) { 
          let imagePicker = UIImagePickerController() 
          imagePicker.delegate = self 
          imagePicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary 
          imagePicker.allowsEditing = true 
          self.presentViewController(imagePicker, animated: true, completion: nil) 
         } 
        } 
    

    そして、ここでは、Xcodeのが言うことです

  3. クラス名をもう一度指定します(ただし、すでに存在しています)
  4. それはXcodeののバグだったように思え

...あなたのビューコントローラとストーリーボードファイルの

関連する問題