+[NSObject new]
est fonctionnellement équivalent à +[NSObject alloc]
suivi de -[NSObject init]
(c'est-à-dire [[alloc] init]
).
Pour répondre à votre question, de la classe docs NSObject
:
Si vous utilisez la mémoire gérée (non de collecte des ordures), cette méthode conserve l'objet avant de retourner il. L'objet renvoyé n'est pas libéré. L'appelant de cette méthode est responsable de la libération de l'objet retourné , en utilisant soit la libération , soit la libération automatique.
L'utilisation de new
est rare dans le code Cocoa moderne. La plupart des développeurs de Cocoa préfèrent un code explicite et clair sur l'enregistrement de quelques traits de touches. Ainsi, alloc/init
est préféré.
Voir http://stackoverflow.com/questions/719877/use-of-alloc-init-instead-of-new-objective-c –