尝试使用 NSInvocation+OCMAdditions.h 中的 getArgumentAtIndexAsObject
Trying to use getArgumentAtIndexAsObject from NSInvocation+OCMAdditions.h
也许这是一件愚蠢的事情...我正在尝试使用
- (id)getArgumentAtIndexAsObject:(NSInteger)argIndex;
来自 NSInvocation+OCMAdditions.h,但我无法导入类别,如果尝试使用该方法不可用。
我正在使用 cocoaPods 获取 OCMock,我导入了 header class:
#import <OCMock/OCMock.h>
也许是 cocoaPods 中的设置?
感谢任何帮助。
谢谢
这是一个专供 OCMock 内部使用的私有方法。它不会作为 pod 的一部分导出。
原因是我想把OCMock这个必须长期支持的publicAPI尽量小。
如果您想在您的项目中使用 getArgumentAtIndexAsObject:
,请将相应的头文件添加到您的项目中。但是,不保证该方法在未来的 OCMock 版本中可用。
最后因为Erick说的不能用那个方法,所以我用了这个方法:
//We mock the methods loginWithUser
[[[controllerMocked stub] andDo:^(NSInvocation *invocation) {
void (^sucessBlock)(NSString *token);
[invocation getArgument:&sucessBlock atIndex:4];
sucessBlock(@"1234567890");
}] loginWithUser:[OCMArg any] andPassword:[OCMArg any] withSuccess:[OCMArg any] withFailure:[OCMArg any]];
然而正确答案是埃里克那个:)
也许这是一件愚蠢的事情...我正在尝试使用
- (id)getArgumentAtIndexAsObject:(NSInteger)argIndex;
来自 NSInvocation+OCMAdditions.h,但我无法导入类别,如果尝试使用该方法不可用。
我正在使用 cocoaPods 获取 OCMock,我导入了 header class:
#import <OCMock/OCMock.h>
也许是 cocoaPods 中的设置?
感谢任何帮助。
谢谢
这是一个专供 OCMock 内部使用的私有方法。它不会作为 pod 的一部分导出。
原因是我想把OCMock这个必须长期支持的publicAPI尽量小。
如果您想在您的项目中使用 getArgumentAtIndexAsObject:
,请将相应的头文件添加到您的项目中。但是,不保证该方法在未来的 OCMock 版本中可用。
最后因为Erick说的不能用那个方法,所以我用了这个方法:
//We mock the methods loginWithUser
[[[controllerMocked stub] andDo:^(NSInvocation *invocation) {
void (^sucessBlock)(NSString *token);
[invocation getArgument:&sucessBlock atIndex:4];
sucessBlock(@"1234567890");
}] loginWithUser:[OCMArg any] andPassword:[OCMArg any] withSuccess:[OCMArg any] withFailure:[OCMArg any]];
然而正确答案是埃里克那个:)