Em termos de código de trabalho, você está correto, não faz sentido verificar nulo aqui. Você pode reescrever isso como:
- (NSArray *)myMethod
{
return [[NSArray alloc] initWithObjects...]
}
É difícil saber sem ver toda a base de código porque isso está sendo feito. Uma possibilidade é que o autor original espere substituir, por fim, myMethod
por uma chamada que potencialmente tenha passado em um valor não nulo array
ou espere que eventualmente adicione uma lógica mais complexa na alocação.