2009-11-01 8 views
0

Par exemple, NSString documentation hasQue signifie le + sur Mac Dev Center?

– initWithFormat: 
– initWithFormat:arguments: 
– initWithFormat:locale: 
– initWithFormat:locale:arguments: 
– initWithData:encoding: 
+ stringWithFormat: 
+ localizedStringWithFormat: 
+ stringWithCharacters:length: 
+ stringWithString: 
+ stringWithCString:encoding: 
+ stringWithUTF8String: 

Alors qu'est-ce que cela signifie quand un nom de méthode a + à sa gauche?

+0

Exact duplicate de http://stackoverflow.com/questions/406667/objective-c-clarification-and-var – Cruachan

+0

Non, ce n'est pas le cas. Cette question se réfère strictement à la consultation de la documentation en ligne, et non à l'écriture de code__ comme le fait l'autre question. – bobobobo

Répondre

2

La méthode avec + est une méthode statique. donc vous enverrez un message à la classe, pas à son instance.

7

+ est pour les méthodes de classe (aka static méthodes dans des langages comme C# et Java) - méthodes qui se rapportent au type plutôt que d'une instance spécifique du type.

- est par exemple des méthodes; méthodes qui sont appelées sur une instance particulière.

Ainsi, par exemple, nous avons

- length 
+ availableStringEncodings 

parce length fait référence à la longueur d'une chaîne spécifique, alors que availableStringEncodings juste renvoie une liste des encodages disponibles sur le système.

Ceci est juste une partie de Objective-C - Je vous suggère de trouver un bon livre ou tutoriel Objective-C.

+0

Une réponse plus complète! Mais la première réponse a été soumise en premier. Je n'ai jamais été aussi déchiré dans ma vie: S – bobobobo

+0

En fait, je pense que ma réponse était à peu près soumise en premier, mais ça n'a pas d'importance :) –