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'
Я полностью понимаю предупреждение и ошибку в Xcode 4.2, поскольку он не позволяет искать методы в текущей области действия @implementation
. (Исправление простое: либо поместите метод smallRect
над методом foo
, либо объявите метод smallRect
в категории или в заголовке.)
Но как мне включить предупреждение в Xcode 4.3, чтобы перехватить эту ошибку, прежде чем передать ее коллегам, работающим с 4.2?