Si nous ne voulons pas implémenter la méthode init dans notre classe, et sachant que init dans NSObject ne renvoie qu'une instance de l'objet sans initialisation, je ne vois pas l'intérêt d'appeler init si nous avons déjà l'instance avec alloc. J'ai essayé et cela fonctionne, mais je ne suis pas sûr que cela ne causera pas de problèmes futurs.Serait-ce correct/ellegant utilise uniquement alloc sans init?
myClass *newObject = [myClass alloc];
au lieu de:
myClass *newObject = [[myClass alloc] init];
Merci beaucoup.
Merci beaucoup pour l'explication. "Si vous parlez d'une classe personnalisée qui hérite directement de NSObject et qui n'a pas besoin d'initialisation de variables d'instance, vous pourriez vous en sortir avec [myClass alloc] mais ce n'est certainement pas un bon style de programmation." C'était mon cas. Réponse acceptée. – toupper
@toupper: Si vous voulez une syntaxe plus courte, vous pouvez faire '[myClass new];' qui équivaut à '[[myClass alloc] init];', mais il pourrait difficilement être considéré comme étant en vogue . –