Compte tenu de ceci:
-(Authenticate_Obj)Authenticate_User:(NSString*)Number:(NSString*)name:(NSString*)password
sélecteur de votre méthode est:
Authenticate_User:::
Quelle est la chaîne que vous passeriez à @selector()
.
Votre méthode AuthenticateMobileServer:action:
doit prendre un sélecteur qui, lorsqu'il est appelé, prend cet ensemble d'arguments, évidemment.
Il y a, cependant, plusieurs problèmes avec ce code (le premier indice étant les deux réponses fausses de gens autrement très bien informés).
Les noms de méthode ne commencent pas par des lettres majuscules, et ils n'ont _
s en eux. Les noms de méthodes sont en chameau. Donc, quelque chose comme authenticateUserNumber:name:password:
serait un nom de méthode plus approprié.
Chaque argument doit avoir une partie du nom de la méthode qui le décrit. Encore une fois, authenticateUserNumber:name:password:
serait conforme à la pratique standard.
Les noms de classe ne contiennent pas _
. Je suppose que Authenticate_Obj est une classe. Si c'est le cas, il doit également être renvoyé en tant que pointeur.
A savoir, cette méthode devrait probablement être quelque chose comme:
- (AuthenticateObject *) authenticateUserNumber: (NSString*) aNum
name: (NSString *) aName
password: (NSString *) aPassword;
Ce n'est pas correct ... erreur facile à faire compte tenu de la déclaration non-standard. – bbum
hm, où l'erreur est? (Je suppose que le nom du paramètre Authenticate_User est manquant dans la déclaration) – Vladimir
Le sélecteur est incorrect. Compte tenu de sa déclaration, il s'agit de 'Authenticate_User :::'. Les bits 'number',' name' et 'password' sont des noms d'arguments. – bbum