現在、OCMockをGCC4.2(元の:4.0)でコンパイルしようとしていますが、次の警告が表示され始めます。
警告:個別のObjective-Cタイプから「partialMockForObject:」の引数1を渡します
呼び出しメソッドは次のとおりです。
- (void)forwardInvocationForRealObject:(NSInvocation *)anInvocation
{
// in here "self" is a reference to the real object, not the mock
OCPartialMockObject *mock = [OCPartialMockObject partialMockForObject:(id)self];
// ...
}
呼び出されるメソッドは次のとおりです。
+ (id)partialMockForObject:(NSObject *)anObject;
引数の前にキャストtoidを付けると、問題が修正されます。すべてのオブジェクトはNSObjectのサブクラスであり、キャストは暗黙的になりますが(スーパークラスの置換:スーパークラスは常にその子クラスに置き換えることができます)