Sauvegarder une variable de type SEL

FloFlo Membre
12:24 modifié dans API AppKit #1
Bonjour à  tous,

c'est peut-être un peu bête comme question mais est-il possible de sauvegarder une variable de type SEL via NSCoder par exemple ?

A priori il s'agit d'un identifiant unique attribué par le compilateur pour identifier les méthodes sans se baser sur leur nom complet.
Donc si je sauvegarde cet identifiant, et que je le restaure au prochain lancement de mon application, le lien devrait toujours être valide non (i.e SEL référencera toujours la bonne méthode) ?.

Merci d'avance  :)

Réponses

  • mpergandmpergand Membre
    12:24 modifié #2
    Tu peux convertir un selector en NSString et vice-versa avec ces deux fonctions:
    NSSelectorFromString
    NSStringFromSelector
  • FloFlo Membre
    12:24 modifié #3
    Merci, je ne connaissais pas ces deux fonctions  :D
  • CéroceCéroce Membre, Modérateur
    12:24 modifié #4
    De mémoire, il me semble que les identifiants uniques des sélecteurs sont déterminés au premier appel de la méthode, si bien qu'ils peuvent être différents entre deux exécutions de l'appli.

    Mieux vaut utiliser les méthodes proposées par mpergand.
  • FloFlo Membre
    12:24 modifié #5
    Ok, merci pour cette précision 
  • 12:24 modifié #6
    Sinon regarde du côté de NSValue aussi. Logiquement:
    <br />SEL mySelector = @selector(myMethod:);<br />NSValue* value = [NSValue valueWithBytes:&amp;mySelector objCType:@encode(SEL)];<br />
    
  • FloFlo Membre
    12:24 modifié #7
    Ha oui tiens, ça m'a l'air d'être une alternative intéressante. Je vais essayer ça, Merci  ;)
Connectez-vous ou Inscrivez-vous pour répondre.