以前做OC項(xiàng)目的時(shí)候度苔,給cell賦值的時(shí)候是在model的setter方法里面賦值奄抽。
- (void)setModel:(ShareListModel *)model
{
if (_model != model)
{
_model = model;
self.titleLab.text = model.title;
self.descriptionLab.text = model.descriptionString;
[self.bigIV sd_setImageWithURL:[NSURL URLWithString:model.bigimageUrl] placeholderImage:nil];
}
}
Swift ,用這種方式好像行不通同廉,下面的代碼是按照OC的風(fēng)格寫(xiě)setter和getter荔睹,會(huì)報(bào)錯(cuò)衬鱼,setter方法會(huì)循環(huán)調(diào)用
var OCProperty : String {
set {
self.OCProperty = newValue
}
get {
return self.OCProperty
}
}
后來(lái)查了一下文檔和他人的代碼漫贞,發(fā)現(xiàn)屬性有計(jì)算屬性和存儲(chǔ)屬性纤怒,計(jì)算屬性用于計(jì)算嘹黔,不能存儲(chǔ)值。存儲(chǔ)屬性才是存儲(chǔ)值的涂身,在setter里面給存儲(chǔ)屬性賦值雄卷,在getter里返回存儲(chǔ)屬性:
var SwiftProperty : String
{
set{
self.SwiftPropertyStore = newValue
}
get{
return self.SwiftPropertyStore
}
}
var SwiftPropertyStore : String!