Iphone 为什么OCMock与我的选择器不匹配?

Iphone 为什么OCMock与我的选择器不匹配?,iphone,ios,ocmock,Iphone,Ios,Ocmock,我有一个类似这样的期望: id myValidator = [OCMockObject mockForClass: [MyValidator class]]; [[myValidator expect] validateField: @"value1" target: testObject selector: @selector(field:isValid:)]; 即使在实现中调

我有一个类似这样的期望:

id myValidator = [OCMockObject mockForClass: [MyValidator class]];

[[myValidator expect] validateField: @"value1" 
                             target: testObject
                           selector: @selector(field:isValid:)];

即使在实现中调用
validateField:target:selector:
,模拟的验证也会失败。但是,如果在实现和预期中我都将选择器替换为
NULL
,则验证通过。显然,
NULL
不是我想要使用的。很明显,问题出在选择器的某个地方。知道这可能不起作用的原因,或者我如何修复它吗?

编辑测试目标的“其他链接器标志”。添加“-ObjC-所有负载”。这应该会解决它,至少这是解决我的无效选择器问题的方法。

我在项目中直接从源代码编译了所有OCMock代码,这就解决了这个问题。也许不是最好的解决方案,但它至少是一个解决方案。

您能向代码展示如何设置模拟对象吗?您能发布
字段:isValid:
的定义以及调用
验证字段:target:selector:
的行吗?不幸的是,我的设置已经包含了这些标志。你还可以告诉我关于你的问题以及它是如何解决的吗?当然,我写了一篇关于它的博文: