Я часто использую функцию initWithNibName
для инициализации содержимого в моих контроллерах представления. Я просто замечаю, что сгенерированная функция initWithNibName
выполняет нулевую проверку self
.
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if(self) {
//do some initializing
}
return self;
}
Почему для self
есть нулевая проверка, а если нет, то код инициализации nil run? Будет ли это if-statement
когда-нибудь ложным? Почему яблоко настаивает, чтобы я проверил ноль здесь?