Maison > Questions et réponses > le corps du texte
Attributs : @property (strong, nonatomic) NSArray *dataArr;
Réécrivez la méthode getter (le code concerne le chargement paresseux, mais ce n'est pas le sujet)
- (NSArray *)dataArr{
//1. 判断是否为空
if(_dataArr == nil){ //不能写self.dataArr
self.dataArr = @[ //可以写self.dataArr
.........
];
}
return _dataArr;
}
Ce que je sais maintenant, c'est que l'utilisation de self.dataArr
appellera les attributs getter方法
et setter方法
Donc je pense que si entre parenthèses ne peut pas être utilisé self.dataArr
sinon ce sera une boucle infinie
Mais je ne sais pas pourquoi vous pouvez utiliser self.dataArr
dans des accolades if ?
Est-ce parce que les accolades sont des affectations, donc seul setter方法
sera appelé ?
Puis-je écrire self.dataArr
après le retour ?
C'est un peu déroutant, s'il vous plaît donnez-moi quelques réponses...
高洛峰2017-05-02 09:31:01
. . .
À l'intérieur des accoladesself.dataArr = @[]
n'appellera que le setter, donc il n'y a pas de problème, mais return self.dataArr; appellera le getter, provoquant une boucle infinie
Vous pouvez l'enregistrer vous-même ou suivre les points d'arrêt pour découvrez.
Tutoriel approprié