使用UIImagePickerController访问照片库后崩溃

时间:2016-08-08 19:35:56

标签: ios swift uiimagepickercontroller

点击按钮时,我在访问照片库时遇到了麻烦。像往常一样,我在问它是否可以访问。以下是我的代码

@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所说的:

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

2 个答案:

答案 0 :(得分:7)

1.请检查视图控制器和故事板文件的目标应该在同一目标中。 2.选择您的xib并删除映射到该故事板的类并将其映射回来,并在粘贴您的类后按Enter键,您的笔尖名称保持相同以进行测试。 3.如果此按钮正在加载表单自定义视图以查看控制器需要检查自定义视图是否已添加到右目标并重新映射内部再次使用ibaction。

通过查看您的对话,我可以理解这一点。

答案 1 :(得分:0)

我用这种方式解决了我的问题:

  1. 打开Utilites
  2. 打开Identity Inspector
  3. 再次提供班级名称(但已经存在)
  4. 好像这是Xcode的错误......