0

他の誰かが書いた古いプロジェクトから警告を削除したいと考えています。

クラスのメソッドをオーバーライドするカテゴリのインスタンス メソッドに関する 200 以上の警告に直面しています。


たとえば、次のようになります。

ヘッダー内:

@interface Foo : NSObject
    //...unimportant code
@end

@interface Foo()
    @property(nonatomic, retain)NSArray *bar;
@end

@interface Foo (Private)
    //...unimportant code
@end

体内:

@implementation Foo
    //...unimportant code
@end

@implementation Foo (Private)
- (NSArray*)bar
{
    //...
}
@end

生成されたリンカー ワーリング:

ld: 警告: Foo.o のカテゴリのインスタンス メソッド 'bar' は、Foo.o のクラスのメソッドをオーバーライドします


したがって、明らかにバープロパティのゲッターが間違ったカテゴリに実装されています。

上記のカテゴリの方法をコピーすれば、問題を解決できます。

しかし、200 以上のクラスでこれを手動で行う必要がありますか?

または、この問題に対するリファクタリング ツールが存在するか、またはこのタイプの警告を正確に抑制するリンカーのフラグが存在しますか?

4

0 に答える 0