问题描述
我正在使用 OCMProtocolMock 来模拟协议。经过一些清理,我的对象符合 3 个协议:
id<MyProtocolA,MyProtocolB,MyProtocolC>
OCMProtocolMock
只需要 1 个参数,所以我想为我的新组合对象制作一个 typedef 以传递给 OCMProtocolMock
。
类似于:
typedef id<MyProtocolA,MyProtocolC> CombinedProtocol;
id<CombinedProtocol> _myCombinedobject = OCMProtocolMock(@protocol(CombinedProtocol));
但这会引发编译器错误,说它找不到“CombinedProtocol”的协议声明。
有什么想法吗?谢谢!
解决方法
一个可能的解决方案是定义一个符合所有其他协议的协议。
app.UseBlazorFrameworkFiles("/app")
就这样使用它
@protocol CombinedProtocol <MyProtocolA,MyProtocolB,MyProtocolC>
@end
并完全忽略 typedef