У меня был что-то вроде следующего кода в проекте, над которым я недавно работал.
@interface DetailsViewController : UIViewContoller {
UIView* headerView_;
}
@property (nonatomic, retain) UIView* headerView;
@end
@implementation DetailsViewController
@synthesize headerView = undefinedVariableName_;
// ...
@end
undefinedVariableName_
не был определен где-либо в проекте и на самом деле был гораздо менее очевидной опечаткой.
Это прекрасно скомпилировано (без ошибок и предупреждений) и даже нормально работало на iOS 4. Я не улавливал эту ошибку, пока программа не вылетала на прошивке 3.1.3.
Кто-нибудь знает, является ли вышеуказанное поведениесчитается неопределенным?Есть ли способ заставить компилятор ловить такие ошибки?