Je ne sais pas si “ statique ” et “ dynamique ” sont les termes appropriés.
[NSString stringWithFormat:...]
est une méthode pratique. Si vous voulez une chaîne formatée que vous ne garderez pas très longtemps, vous pouvez utiliser cette méthode de commodité pour éviter le fouillis que alloc
+ initWithFormat:
+ release
peut introduire dans votre code [autrement simple].
[[NSString alloc] initWithFormat:...]
est parfois plus clair au lecteur que la durée de vie de cet objet sera traité explicitement (par exemple avec un release
plus tard), bien que, je l'ai trouvé, il est pas rare de rencontrer un [[[NSString alloc] initWithFormat:...] autorelease]
dans les lieux. Lorsque vous concevez une classe, vous devez déterminer si les instances de votre classe sont destinées à être utilisées fréquemment/rapidement plutôt qu'à long terme (ou les deux). Si vous considérez que vos cours peuvent être utilisés fréquemment ou rapidement, la méthode pratique vous aidera à réduire l'encombrement et à simplifier le code qui utilise la classe.
Par exemple, NSWindow
n'est pas une classe que vous créez et supprimez les instances de fréquemment, donc il n'y a pas de méthodes pratiques pour créer NSWindow
cas, vous devez passer par le alloc
+ init
itinéraire (en fait, NSWindow
n'est pas normalement une classe que vous devez créer des instances de manuellement de toute façon). D'un autre côté, les chaînes, les tableaux, les dictionnaires, les décors, etc., ce sont des choses souvent créées et souvent jetées, donc elles ont toutes des méthodes pratiques qui facilitent leur création et leur gestion.
Merci beaucoup. C'était exactement ce que je recherchais. – ar106