крайний случай с обнуляемостью в функции init - PullRequest
0 голосов
/ 14 апреля 2020

Я рефакторинг некоторого кода для обнуляемости и задаюсь вопросом о крайнем случае, когда мой родительский init так:

[super initWithData:data]

возвращает ноль на недействительных данных.

- (instancetype)initWithData:(NSData *)data{
     if ((self = [super initWithData:data])) {
        //some additional code
     } else {
        //invalid exit
        return nil;
     }
     return self;
}

Будет эта работа или есть лучший способ решить эту проблему?

1 Ответ

1 голос
/ 14 апреля 2020

Это будет работать, но вы должны показать эту возможность в своем интерфейсе, как показано ниже, чтобы клиенты API были проинформированы

- (nullable instancetype)initWithData:(NSData *)data;
...