Classe Modèle et propriété

muqaddarmuqaddar Administrateur
04:13 modifié dans API UIKit #1
Bonjour,

Soit le code suivant :

return [(Theme*)[_themes objectAtIndex:section] valueForKey:@"_name"];


où :
- _themes est un Array
- Theme une classe modèle perso qui comprend 2 instances : _name et _themeId

Le code ci-dessus marche, mais je ne comprends pas pourquoi je ne peux pas écrire ceci :

return (Theme*)[_themes objectAtIndex:section]._name;


à  la place puisque, je le répète _name est un accesseur/propriété déclaré dans le modèle Theme.

Réponses

  • Philippe49Philippe49 Membre
    04:13 modifié #2
    Bienvenu dans le club

    Cela ne résout-il pas ton problème ?
    return ((Theme*)[_themes objectAtIndex:section])._name;

    ou plus simplement
    return [(Theme*)[_themes objectAtIndex:section] _name];
  • muqaddarmuqaddar Administrateur
    04:13 modifié #3
    Très intéressant votre discussion, même si j'ai pas tout compris...

    Alors voilà  ce qui marche.

    Dans ce cas, le typage avec (Theme*) est nécessaire :
    return ((Theme*)[_themes objectAtIndex:section])._name;
    


    Dans ce cas, le typage avec (Theme*) est facultatif :
    return [[_themes objectAtIndex:section] _name];
    


    Je préfère la première écriture pour un appel de valeur sur propriété.
    Merci Philippe.
Connectez-vous ou Inscrivez-vous pour répondre.