8
votes

Quelqu'un peut-il expliquer les noms de fonction dans Objective-C?

Dupliqué possible: strong>
Syntaxe de la méthode dans l'objectif C P>

Donc, je reçois totalement les fonctions les plus courantes comme: p> xxx pré>

Cependant, provenant d'un fond de programmation différent, je luttes parfois avec quelque chose comme: P>

-(NSInteger) tableView: (UITableView *)tableView
numberOfRowsInSection:(NSInteger)section{

    return [self.controllers count];

}


0 commentaires

5 Réponses :


0
votes

(NSInteger) TableView: (Uitailview *) TableView NumberfrowSection: (NSInteger) Section

Ceci est une méthode qui accepte 2 arguments, une vision utile et une nsinteger. Il est noté comme ceci: -TableView: numberofrowsection: .


0 commentaires

6
votes

Vous pouvez y penser comme d'autres langages de programmation en regardant xxx

comme xxx

tout avant que les colons font partie de la méthode Nom et tout après sont des arguments, le nom de la méthode est donc entrelacé avec les arguments passés à la méthode.


1 commentaires

Malgré le fait que les arguments ont des "mots-clés", la commande ne peut pas changer. L'action et avec defoo ne peuvent pas être commutées même si ce n'est pas vraiment ambigu.



0
votes

Oui, c'est fondamentalement. Dans l'OBJ-C, les noms de méthodes complètes incluent les noms ARG. Je crois que cette convention est originaire de Smalltalk.


0 commentaires

1
votes

Objectif C a une manière descriptive de méthodes d'écriture. XXX PRE>

Il s'agit d'une méthode Tableau d'assistance, renvoyant une nsinteger, prend deux arguments - une référence uableview et une section entière. Maintenant, envisagez le numéro de vue comme une description de ce que l'argument est tout à propos.Look à cet exemple p> xxx pré>

et je peux appeler ces méthodes comme [Auto Calculatum: Var1 Derectoperand: Var2 AndthirdOperand: Var3]; P>

ici "DERNIEROPERAND" ET "ANDTILISOPERAND" n'est pas essentiel, je peux écrire la méthode ci-dessus comme P>

[self calculateSum:var1 :var2 :var3];


0 commentaires

3
votes

Oui, la façon dont Objective-C mélange des arguments avec des parties du nom de la méthode semble être bizarre au début. Tout le monde traverse une courte période d'adaptation à cet égard. Mais donnez-lui du temps - après un petit moment, vous ne voudrez peut-être jamais voir une liste de paramètres parenthèses séparée par des virgules de nouveau.

en C ++, vous diriez quelque chose comme: P>

UIColor *color = [[UIColor alloc] initWithRed:0.5 green:0.7 blue:0.2 alpha:0.8];


0 commentaires