Xcode 4.3 は、現在の に存在する宣言されていないメソッドについて警告しません
@implementation
。これは優れた新機能です。ただし、Xcode 4.2 でプロジェクトを使用している場合、特定の状況で問題が発生します。
宣言されていないメソッドの警告を再度有効にするにはどうすればよいですか?
例えば:
@interface MashTun : NSObject
- (void)foo;
@end
@implementation MashTun
- (void)foo {
CGRect rect = [self smallRect];
NSLog(@"My Small Rect: %@", NSStringFromCGRect(rect));
}
- (CGRect)smallRect {
return CGRectMake(0, 0, 100, 100);
}
@end
Xcode 4.2 では、これは失敗します。
warning: instance method '-smallRect' not found (return type defaults to 'id')
error: initializing 'CGRect' (aka 'struct CGRect') with an expression of incompatible type 'id'
現在の@implementation
スコープ内でメソッドを検索できないため、Xcode 4.2 の警告とエラーを完全に理解しています。(修正は簡単です。メソッドをsmallRect
メソッドの上に置くか、カテゴリまたはヘッダーでメソッドをfoo
宣言します。)smallRect
しかし、Xcode 4.3 で警告をオンにして、4.2 を実行している同僚に渡す前にこのエラーをキャッチするにはどうすればよいでしょうか?