• [^] # Re: XAML et l'avenir de GNOME

    Posté par . En réponse à la dépêche XAML et l'avenir de GNOME. Évalué à 2.

    Ah ok.

    En Objective-C, tu peux déclarer comme en C++ tes données membres comme public/privées/protégées; et rien ne t'empêche d'avoir un accesseur ayant le même nom que la donnée membre et la retournant (c'est d'ailleurs ce qui est généralement utilisé).

    - (NSString*) name {
    return name;
    }

    Accessoirement, à propos des attributs, le principe de "key-value coding" utilisant l'introspection, ça permet des choses très sympas :-)

    Grosso modo, tu peut accéder à tes attributs par leur nom, en utilisant deux méthodes,
    valueForKey: et setValue:forKey:

    - (id) valueForKey: (NSString*) key;
    - (void) setValue: (id) value forKey: (NSString*) key;

    Ce qui facilite énormèment tout ce qui est scriptage, bien sûr, mais peut également te simplifier pas mal la vie dans ton code, vu que ça te permet de déterminer dynamiquement l'attribut qui t'intéresse.

    Le côté agréable est que l'implémentation par défaut du "key-value coding" dans NSObject utilise des accesseurs si tu les as définis, et sinon accède directement aux données membres.

    Plus d'infos ici : http://developer.apple.com/documentation/Cocoa/Conceptual/KeyValueC(...)