我有一个父 View Controller 和一个 subview Controller 。在 subview Controller 的 View 中,我有一个名为“startButton”的 UIButton。对于那个按钮,我添加了一个目标,如下所示
[startButton addTarget:[self parentViewController] action:@selector(test:) forControlEvents:UIControlEventTouchUpInside];
我已经在父 Controller 中实现了 test: 方法,这对我来说工作得很好。当点击按钮时,事件从 subview Controller 传递到父 View Controller ,测试中的代码片段:方法被执行。
但我的问题是,我收到一条警告消息“未声明的选择器测试:”。我知道,我得到它是因为测试:未在 subview Controller 实现文件中实现。
有没有办法单独抑制这个警告?我在这里看到的大多数建议都会抑制整个警告,但我想单独抑制上述警告。
谢谢
最佳答案
如果您可以避免警告,则无需抑制警告:
在父 View Controller 的@interface
(.h文件中)声明test:
方法,
并将该 .h 文件导入 subview Controller 的实现 (.m) 文件。
然后编译器知道该方法并且您不会收到有关 不再是未声明的选择器。
关于ios - 在 Xcode 5 中抑制 "undeclared selector"警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21598122/