2010-06-16 2 views
0

Je comprends le fonctionnement des propriétés déclarées - J'ai juste besoin d'une clarification sur le moment où Objective C utilise la méthode accesseur par rapport à quand elle ne l'est pas.Propriétés déclarées et affectation de valeurs avec self

Dire que j'ai une propriété à l'aide de retenir déclaré:

@property (nonatomic, conserver) la date NSDate *;

... et plus tard ... Date @synthesize

Si je dis: date = x

Est-ce appelant la méthode accesseur? Ou est-ce juste la définition de la variable?

self.date = x

Cela semble appeler la méthode accesseur (je pense, mais je ne suis pas sûr, car il semble que le nombre de retenir augmente).

Quelqu'un peut-il clarifier ce problème? Je suis curieux parce que j'ai certaines variables qui semblent devenir invalide avant que j'aie besoin d'eux (et je dois appeler spécifiquement retenez), et je soupçonne que c'est pourquoi.

Répondre

0

date = x; définit directement la variable d'instance et ignore les méthodes d'accès. Est la même chose que [self setDate:x]; et utilise les méthodes d'accès.

+0

Merci - juste ce que je cherchais. –

Questions connexes