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:
的行吗?不幸的是,我的设置已经包含了这些标志。你还可以告诉我关于你的问题以及它是如何解决的吗?当然,我写了一篇关于它的博文: