我有一个父视图控制器和一个子视图控制器。在子视图控制器的视图中,我有一个名为“ startButton”的UIButton。在该按钮上,我添加了一个目标,如下所示
[startButton addTarget:[self parentViewController] action:@selector(test:) forControlEvents:UIControlEventTouchUpInside];
我已经在父控制器中实现了test:方法,这对我来说很好用。轻按按钮后,事件将从子视图控制器传递到父视图控制器,并执行test:方法中的代码段。
但是我的问题是,我收到一条警告消息,“未声明的选择器测试:”。我知道,我得到它是因为在子视图控制器实现文件中未实现test:。
有什么办法可以单独消除这种警告?我在这里看到的大多数建议都会使整个警告被抑制,但是我想单独抑制上述警告。
谢谢
如果您确定已做正确的事,并且代码实际上运行良好,则可以通过使用#pragma clang预处理程序命令包围该方法来停止Xcode向您发出警告。
例如:
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wundeclared-selector"
[startButton addTarget:[self parentViewController] action:@selector(test:) forControlEvents:UIControlEventTouchUpInside];
#pragma clang diagnostic pop
Xcode不会报告push和pop命令之间的任何“丢失消息”。我建议它们之间的代码尽可能少,以防止未报告代码中的实际问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句