Où l’avez-vous regardé ? Tout cela appartient au passé, il n’y a aucune restriction dans ARC, vous pouvez l’utiliser comme vous le souhaitez.
Dans l'ancien temps de la gestion manuelle de la mémoire, appeler des attributs impliquait d'ajouter ou de soustraire des compteurs de références, et self = [super ...] l'objet initialisé n'est pas nécessairement un objet de la classe actuelle, il peut s'agir d'une "variante" ou d'une classe privée (objc en classe a la différence entre class et metaclass), donc si vous ne savez pas comment ajouter ou soustraire le compteur de référence dans la méthode de définition d'attribut, vous ne pouvez conserver et libérer que pour ivar.
Parce qu'il existe des catégories (Catégorie), des setters, des getters, des KVO, etc., vous devez y prêter attention Le plus important est que la grammaire peut appeler les propriétés et les méthodes de classification, mais _. ne fonctionne pas, il faut faire attention
Où l’avez-vous regardé ? Tout cela appartient au passé, il n’y a aucune restriction dans ARC, vous pouvez l’utiliser comme vous le souhaitez.
Dans l'ancien temps de la gestion manuelle de la mémoire, appeler des attributs impliquait d'ajouter ou de soustraire des compteurs de références, et
self = [super ...]
l'objet initialisé n'est pas nécessairement un objet de la classe actuelle, il peut s'agir d'une "variante" ou d'une classe privée (objc en classe a la différence entreclass
etmetaclass
), donc si vous ne savez pas comment ajouter ou soustraire le compteur de référence dans la méthode de définition d'attribut, vous ne pouvez conserver et libérer que pourivar
.retain(copy,new) et release apparaissent par paires
Parce que cela générera des références circulaires, comme délégué, qui ne seront jamais publiées
Parce qu'il existe des catégories (Catégorie), des setters, des getters, des KVO, etc., vous devez y prêter attention
Le plus important est que la grammaire peut appeler les propriétés et les méthodes de classification, mais _. ne fonctionne pas, il faut faire attention