Dois-je consulter pour soi.propriété dans la méthode init avec l'ARC?

Une question rapide.

si j'ai une propriété et d'un ivar déclarée avec le même nom:

dans le .h fichier:

(Reminder*)reminder;
@property(nonatomic,strong)(Reminder*)reminder;

dans le .m fichier, dois-je utiliser le ivar ou à la propriété dans la méthode init si je suis en utilisant l'ARC?

- (id)initWithReminder:(Reminder*)reminder_ {
    self = [super init];
    if (self) {
        reminder = reminder_;
    }
    return self;
}

Ou dois-je utiliser la propriété pour obtenir le bénéfice de l'automatique de comptage de référence comme ceci:

- (id)initWithReminder:(Reminder*)reminder_ {
    self = [super init];
    if (self) {
        self.reminder = reminder_;
    }
    return self;
}

Je ne suis pas sûr à quel point dans l'objet de l'initialisation des propriétés deviennent accessibles avec la notation par points.

  • si vous utilisez synthétiser (je suppose que oui) et que vous utilisez un compilateur moderne (je suppose que vous faites en raison de ios5), vous n'avez pas besoin de déclarer le ivar, objective-c le fait automatiquement pour vous. (ce n'est pas la réponse à votre question, juste une note).
  • C'est une bonne chose à savoir, j'ai toujours déclaré ivars pour les propriétés jusqu'à maintenant. Et oui, je fais @synthétiser de la propriété avec le nom par défaut.
  • Était sur le point de vous dire la même chose que @choix. Et je crois que vous avez toujours obtenir le bénéfice de l'ARC, indépendamment de si oui ou non vous utilisez la propriété.
  • Vous n'avez même pas besoin @synthesize
InformationsquelleAutor Alex Stone | 2011-11-08