iOS用模型保存图片

永远要记得,成功的决心远胜于任何东西。——亚伯拉罕·林肯

今后会分享一些几年来总结的小技巧,今天分享下使用模型保存图片,文笔不好,大家见谅!

基本上每个页面都有图片,图片加载总是伴随着内存溢出、内存泄漏或者是内存消耗过大的问题。在使用tableView 和collectionview的时候每次上下滑动都会重复加载图片,消耗内存,占用资源。直接上代码:(collectionview)

UICollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath];

[self setCellImage:cell indexPath:indexPath withDict:memuDict];

cell.backgroundColor = [UIColor whiteColor];

return cell;

- (void) setCellImage:(UICollectionViewCell * ) cell indexPath:(NSIndexPath *) indexPath withDict:(NSDictionary *) dict {

GJYHome_groupList_Model * listModel = self.model_groupList[indexPath.row ];//self.model_groupList保存模型数组

if (menuList.image == nil) {

WS(weakSelf);

[GJYWebImageManager sd_webViewWithData:menuList.menuIcon placeholderImage:@"你选择的占位图" WiBlock:^(UIImage *k) {

[cell.image setImage:k];

[listModel setImage:UIImagePNGRepresentation(k)];

[weakSelf.model_groupList replaceObjectAtIndex:indexPath.row withObject:listModel];

} else {

[cell.image setImage: [UIImage imageWithData:listModel.imageData]];

}]; // 这是我自己封装的一个图片下载的类

}

模型层:

@interface GJYHome_groupList_Model : NSObject

/** 菜单项名称 */

@property (nonatomic , copy) NSString * menuName;

@property (nonatomic , strong) NSData * imageData;

@end

中心思想就是使用模型保存图片数据,滚动时加载图片模型数据,好了。不算完美,有什么问题欢迎大家聊聊!

你可能感兴趣的:(iOS用模型保存图片)