Cocoa par la pratique / EmployeAugmentation

JekarJekar Membre
20:55 modifié dans API AppKit #1
Salut,
j ai un petit soucis avec ce projet la.
Quand je clique sur "creer un employe" j ai ces erreurs la :

2007-12-24 15:58:07.279 EmployeAugmentation[857:10b] *** -[MyDocument updateEmployee]: unrecognized selector sent to instance 0x354610<br />2007-12-24 15:58:07.280 EmployeAugmentation[857:10b] *** -[MyDocument updateEmployee]: unrecognized selector sent to instance 0x354610


une idee d ou ca peut venir?

Réponses

  • psychoh13psychoh13 Mothership Developer Membre
    20:55 modifié #2
    Vérifie que ta méthode -updateEmployee est bien définie et qu'il s'agit bien d'une méthode d'instance, vérifie aussi que tu ne t'es pas gourré en la réécrivant.
  • JekarJekar Membre
    20:55 modifié #3
    j ai bien ca :

    -(IBAction)updateEmployee:(id)sender<br />{<br />	Person *currentEmployee = [employees objectAtIndex:currentIndex];<br />	[currentEmployee setNom:[namefield stringValue]];<br />	[currentEmployee setraise:[raisefield floatValue]];<br />}
    
  • psychoh13psychoh13 Mothership Developer Membre
    20:55 modifié #4
    Vérifie que t'as bien fait tes connexions. o_O
  • JekarJekar Membre
    20:55 modifié #5
    Oui c est bon, le bouton est bien connecte a l action qui appelle la fonction updateEmployee
  • JekarJekar Membre
    20:55 modifié #6
    Argh, c est bon j ai trouve!
    J avais fait une erreur dans la definition de la fonction :(
  • 20:55 modifié #7
    Je crois aussi que depuis Jaguar il y a eu pas mal de changement au niveau de l'objective-C  donc faut faire gaffe aussi, tout ce qui est dit ds le bouquin n'est plus forcément valable (enfin quelques trucs)
  • JekarJekar Membre
    20:55 modifié #8
    Et comment fait on pour concatener un NSString et un int?
    On peut transformer le int en NSString?
  • AliGatorAliGator Membre, Modérateur
    décembre 2007 modifié #9
    dans 1198752095:

    Et comment fait on pour concatener un NSString et un int?
    On peut transformer le int en NSString?
    Le plus simple est via stringWithFormat/initWithFormat :
    int empNum = 5; // par ex<br />NSString* empName = [employee name]; // par ex<br />// ...<br />NSString* str = [NSString stringWithFormat:@&quot;L&#39;employé n° %d s&#39;appelle %@ !&quot;, empNum, empName];
    

    Utiliser [tt]%d[/tt] pour placer indiquer l'emplacement d'un entier, [tt]%@[/tt] pour l'emplacement d'un NSObject cocoa comme NSString (Si c'est un objet autre que NSString, comme une NSDate par exemple, Cocoa appellera automatiquement le message [tt]description[/tt] sur le NSObject pour avoir sa représentation en NSString). Il y a d'autres placeholders mais ce sont les plus couramment utilisés.
  • psychoh13psychoh13 Mothership Developer Membre
    20:55 modifié #10
    Si tu manipules une NSMutableString tu as aussi -appendFormat: qui fonctionne sur le même principe.
Connectez-vous ou Inscrivez-vous pour répondre.