屬性: @property (strong, nonatomic) NSArray *dataArr;
重寫getter方法 (代碼關(guān)于懶加載, 不過這個不是重點)
- (NSArray *)dataArr{
//1. 判斷是否為空
if(_dataArr == nil){ //不能寫self.dataArr
self.dataArr = @[ //可以寫self.dataArr
.........
];
}
return _dataArr;
}
我現(xiàn)在知道的東西是, 用self.dataArr
會調(diào)用該屬性的getter方法
和setter方法
所以我覺得if小括號里的不能用self.dataArr
否則會死循環(huán)
但我不知道為什么if大括號里卻可以用self.dataArr
?
難道是大括號里的是賦值, 就只會調(diào)用setter方法
?
還有return后面能寫self.dataArr
么?
有點混亂, 求解答...
。。。
大括號里面self.dataArr = @[]
只會調(diào)同setter 所以沒問題,但是return self.dataArr; 是會調(diào)用的getter的,造成死循環(huán)
你可以自己log或者打斷點跟蹤下就知道了
適合的教程
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://m.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號