Se non vogliamo implementare il metodo init nella nostra classe, e tenendo presente che init in NSObject restituisce solo un'istanza dell'oggetto senza inizializzazione, non vedo il punto di chiamare init se abbiamo già l'istanza con alloc. Ho provato e funziona, ma non sono sicuro che non causerà problemi futuri.Sarebbe corretto/ellegante utilizzare solo l'allocazione senza init?
myClass *newObject = [myClass alloc];
invece di:
myClass *newObject = [[myClass alloc] init];
Grazie mille.
Grazie mille per la spiegazione. "Se stai parlando di una classe personalizzata che eredita direttamente da NSObject e non ha bisogno di inizializzare le variabili di istanza, potresti farla franca con [allocazione myClass] ma non è sicuramente un buon stile di programmazione." Era il mio caso. Risposta accettata – toupper
@toupper: Vale la pena ricordare che se si desidera una sintassi più breve, si può fare '[myClass new];' che è equivalente a '[[myClass alloc] init];', ma difficilmente si può considerare che sia in voga . –