Swift 已将无法识别的选择器发送到实例0x1559a8200

Swift 已将无法识别的选择器发送到实例0x1559a8200,swift,swift2,selector,Swift,Swift2,Selector,我收到一封信 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:无法识别的选择器已发送到实例0x1559a8200 错误消息中引用的选择器为: [SoloCheck.DirectorFormCell seeDirectorReportDidTap:] 添加目标的代码如下所示: cell.seeDirectorReport.addTarget(cell.seeDirectorReport, action: #selector(CompanyFreeRe

我收到一封信

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:无法识别的选择器已发送到实例0x1559a8200

错误消息中引用的选择器为:

[SoloCheck.DirectorFormCell seeDirectorReportDidTap:]
添加目标的代码如下所示:

cell.seeDirectorReport.addTarget(cell.seeDirectorReport, action: #selector(CompanyFreeReportVC.seeDirectorReportDidTap(_:)), forControlEvents: .TouchUpInside)
func seeDirectorReportDidTap(sender: UIButton) {
    self.performSegueWithIdentifier("OpenCompanyDocumentsSegue", sender: sender.tag)
}
该方法的实施情况如下:

cell.seeDirectorReport.addTarget(cell.seeDirectorReport, action: #selector(CompanyFreeReportVC.seeDirectorReportDidTap(_:)), forControlEvents: .TouchUpInside)
func seeDirectorReportDidTap(sender: UIButton) {
    self.performSegueWithIdentifier("OpenCompanyDocumentsSegue", sender: sender.tag)
}
我把密码改成

cell.seeDirectorReport.addTarget(self, action: #selector(CompanyFreeReportVC.seeDirectorReportDidTap(_:)), forControlEvents: .TouchUpInside)
错误保持不变:

2017-04-20 15:53:19.806 SoloCheck[12035:1267396] Attempting to load the view of a view controller while it is deallocating is not allowed and may result in undefined behavior (<UISearchController: 0x15ef187a0>)
2017-04-20 15:53:19.854 SoloCheck[12035:] <GMR/INFO> App measurement v.2003000 started
2017-04-20 15:53:19.854 SoloCheck[12035:] <GMR/INFO> To enable debug logging set the following application argument: -GMRDebugEnabled (see )
2017-04-20 15:53:20.009 SoloCheck[12035:1267396] [Crashlytics] Version 3.7.0 (102)
2017-04-20 15:53:37.786 SoloCheck[12035:1267396] -[SoloCheck.DirectorFormCell seeDirectorReportDidTap:]: unrecognized selector sent to instance 0x15f154600
2017-04-20 15:53:37.794 SoloCheck[12035:1267396] WARNING: GoogleAnalytics 3.14 void GAIUncaughtExceptionHandler(NSException *) (GAIUncaughtExceptionHandler.m:48): Uncaught exception: -[SoloCheck.DirectorFormCell seeDirectorReportDidTap:]: unrecognized selector sent to instance 0x15f154600
2017-04-20 15:53:42.837 SoloCheck[12035:1267396] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[SoloCheck.DirectorFormCell seeDirectorReportDidTap:]: unrecognized selector sent to instance 0x15f154600'
*** First throw call stack:
(0x18324d900 0x1828bbf80 0x18325461c 0x1832515b8 0x18315568c 0x187f77e50 0x187f77dcc 0x187f5fa88 0x187f776e4 0x187f30294 0x187f70820 0x187f6fe1c 0x187f404cc 0x187f3e794 0x183204efc 0x183204990 0x183202690 0x183131680 0x184640088 0x187fa8d90 0x1000b544c 0x182cd28b8)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb) 
2017-04-20 15:53:19.806 SoloCheck[12035:1267396]在视图控制器解除分配时尝试加载视图是不允许的,并且可能导致未定义的行为()
2017-04-20 15:53:19.854 SoloCheck[12035:]应用程序测量v.2003000开始
2017-04-20 15:53:19.854 SoloCheck[12035:]要启用调试日志记录,请设置以下应用程序参数:-GMRDebugEnabled(请参阅)
2017-04-20 15:53:20.009 SoloCheck[12035:1267396][Crashlytics]版本3.7.0(102)

2017-04-20 15:53:37.786 SoloCheck[12035:1267396]-[SoloCheck.DirectorFormCell-seeddirectorreportdidtap:]:发送到实例0x15f154600的选择器无法识别
2017-04-20 15:53:37.794 SoloCheck[12035:1267396]警告:GoogleAnalytics 3.14 void GaUncaughtExceptionHandler(NSException*)(GaUncaughtExceptionHandler.m:48):UncaughtExceptionHandler:-[SoloCheck.DirectorFormCell-SeedDirectorReportDidTap:]:未识别的选择器发送到实例0x15f154600
2017-04-20 15:53:42.837 SoloCheck[12035:1267396]***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[SoloCheck.DirectorFormCell-SeedDirectorReportDidtap::]:未识别的选择器发送到实例0x15f154600' ***第一次抛出调用堆栈: (0x18324d900 0x1828BF80 0x18325461c 0x1832515b8 0x18315568c 0x187F777E50 0x187F777DCC 0x187f5fa88 0x187F7776E4 0x187f30294 0x187f70820 0x187f6fe1c 0x187f404cc 0x187f3e794 0x183204efc 0x183204990 0x183202690 0x183131680 0x184640088 0x187fa8d90 0x1000B544C0x182CD28B8) libc++abi.dylib:以NSException类型的未捕获异常终止 (lldb)
此错误只是告诉您,您的
目标
没有引用您在
操作
中引用的方法。因此,请确定是提供了错误的目标还是错误的
操作


addTarget
的第一个参数是实现
操作
选择器的对象。我从您的
#选择器(CompanyFreeReportVC.SeedDirectorReportDidTap(:)
推断您已经在视图控制器中实现了
SeedDirectorReportDidTap
。因此,您需要将视图控制器指定为
addTarget

的第一个参数。无法识别的选择器通常位于错误消息[SoloCheck.DirectorFormCell-seeddirectorreportdidtap:]-我还想在按钮标记中输入一个值,并在SeedDirectorReportDidTap方法中检索。是否可能?您的
#选择器
已指定视图控制器的方法,但
目标似乎是其他方法。
单元格.seeDirectReport
引用什么?引用自定义单元格类中的UIButton是的,但是
目标
是调用
选择器
的对象,而不是启动调用的对象。您想将视图控制器指定为
addTarget
的第一个参数。我从未使用过Swift 2,但选择器的签名是否应该不同?在实际的
seedDirectorReportDidTap
函数声明中没有
\uu
,因此选择器不应该类似于:
\selector(CompanyFreeReportVC.seedDirectorReportDidTap(发送方:))
?我在某个地方看到了它,并尝试过,但它甚至无法编译,它说'Type'companyfreeportvc'没有成员'seeDirectorReportDidTap(sender‌​:)'