In termini di codice di lavoro, sei corretto, non c'è motivo di controllare nil qui. Potresti riscriverlo come:
- (NSArray *)myMethod
{
return [[NSArray alloc] initWithObjects...]
}
È difficile sapere se non si vede l'intero codebase perché questo è stato fatto. Una possibilità è che l'autore originale si aspettasse di sostituire finalmente myMethod
con una chiamata che potenzialmente è passata in un% non nullo% di co_de o si prevede che alla fine aggiunga più logica complessa nell'allocazione.
L'altra possibilità molto reale (e probabilmente la più probabile secondo me) è che chiunque l'abbia scritto ha avuto un'abitudine radicata nel controllare sempre e per niente e non stava pensando. Dal momento che questo non ha alcun effetto sul codice, nessuno ha mai notato, o potrebbe essere preso la briga di risolvere.