我遇到了解释该主题的以下blog post。但是我对给定的样品确实有麻烦。
它验证目标动作绑定如下:
STAssertEquals([doSomethingButton action], @selector(doSomething:),
@"The button should send -doSomething: to its target.");
STAssertEquals([doSomethingButton target], _windowController,
@"The button should send its action to the window controller.");
只要doSomethingButton是UIBarButton,这就有效。 UISwitch或UIButton没有目标或操作属性。我尝试了以下命令来确定其目标 - 动作布线:
GHAssertNotNil([[controller logSwitch] actionsForTarget:controller forControlEvent:UIControlEventValueChanged], nil);
然而,即使我已经确认在模拟器中正确调用了该动作,它也会失败。在UIControl的目标动作布线上断言的正确方法是什么?
更新:
UIControl - (NSSet *)allTargets
即使调试应用程序并在 调用 操作中执行它,似乎也没有返回任何内容!
答案 0 :(得分:2)
这似乎是UIKit框架中的一个错误。我已经向Apple提交了一份错误报告。