我正在尝试模拟分段控件,但出现崩溃,有什么建议吗?
NSInteger selectedSegment = 2;
id segmentedControlMock = [OCMockObject niceMockForClass:[UISegmentedControl class]];
[[[segmentedControlMock stub] andReturn:OCMOCK_VALUE(selectedSegment)] selectedSegmentIndex];
我在模拟对象上调用selectedSegmentIndex时就崩溃了:
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“具有对象返回类型的预期调用。”
最佳答案
您需要使用andReturnValue:
NSInteger selectedSegment = 2;
id segmentedControlMock = [OCMockObject niceMockForClass:[UISegmentedControl class]];
[[[segmentedControlMock stub] andReturnValue:OCMOCK_VALUE(selectedSegment)] selectedSegmentIndex];