gpt4 book ai didi

ios - NSCache、镜像发布、异步队列

转载 作者:行者123 更新时间:2023-11-28 22:39:11 25 4
gpt4 key购买 nike

这应该在我的任何给定表格行中显示一个占位符,除非存在该索引路径的图像。当我向下滚动时,先前 indexPath 中的图像会加载默认值而不是释放。我知道之前有人帮助我解决了同样的问题,但这是在我意识到缓存图像的重要性之前。在我的 customCell 方法中,我将 UIImage 属性设置为 strong,并为 viewDidUnload 释放图像。

NSString *imagename = [_imageCache objectForKey:indexPath];
UIImage *preview = [_imageCache objectForKey:imagename];

if (preview)
{
[[cell myImageView] setImage:preview];
}
else
{
[[cell myImageView] setImage:[UIImage imageNamed:@"CellLogo.png"]];

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
dispatch_async(queue, ^{

// __block UIImage *preview = nil;
UIImage *preview = [UIImage imageWithData:object.iG];
// }
if (preview)
{
dispatch_async(dispatch_get_main_queue(), ^{

// if (cell)
[[cell myImageView] setImage:preview];

});
[_imageCache setObject:preview forKey:imagename];
}
});
}

最佳答案

如错误消息所述,您尚未在代码中的任何位置声明 imageFilename:。默认情况下没有这样的方法,如果您愿意,可以在当前类中以该名称定义一个方法:

- (NSString *)imageFilename:(NSIndexpath *)indexpath {
//code here
}

如果您已经在其他地方使用过它,则需要导入该特定类并将此方法调用为 NSString *imagename = [myobject imageFilename:indexPath]; where myobject 是该类的对象。

关于ios - NSCache、镜像发布、异步队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15030308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com