- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试在 coredata 和 FetchedResultsController 的帮助下构建一个 TableView (来自 coredata 的信息是通过服务器的 API 获取的),表中的每个单元格都有一个 ImageView ,它从网络异步加载图像与 GCD(我也是在方法中尝试并使用 SDWebImage)
“tableView:tableView cellForRowAtIndexPath:indexPath”,当我再次请求更多记录时出现问题(例如,第一次我有 50 条记录,当我发出新请求并将其保存在核心数据中时,图像不再正确关联带有文章或在滚动时消失)我相信是因为 fetchedResultsController 的结果是按时间函数排序的。我的代码:
NewsFeed *singleFeed = [self.fetchedResultsController objectAtIndexPath:indexPath];
NLNewsFeedCell *cell = (NLNewsFeedCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"NewsFeedCell" owner:self options:nil];
cell = [nib objectAtIndex:0];
cell.lblTextContain.numberOfLines = 0;
}
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
dispatch_async(queue, ^(void) {
NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:singleFeed.urlPicture]];
UIImage* image = [[UIImage alloc] initWithData:imageData];
if (image) {
dispatch_async(dispatch_get_main_queue(), ^{
cell.imgPicture.image = image;
[cell setNeedsLayout];
});
}
});
任何建议,如何解决这个问题?谢谢,抱歉拼错了。
最佳答案
首先,检查重复使用的单元格:
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cellIdentifier"];
如果单元格是nil
,则创建一个新单元格。如果不是 nil
,则使用现有的。
其次,我建议您创建一个自定义单元格来处理图像的下载,并可以取消下载或忽略下载。
您的问题是由于单元格加载完成后下载完成造成的,有可能下载完成的单元格已经不可见了。
你可以使用 AFNetworking或任何其他支持下载取消的异步图像加载库,并且在自定义单元格的 -(void)prepareForReuse
方法(在单元格被重用之前调用)中,您可以取消旧的下载操作,因此当单元格加载后,它将使用上次下载操作的图像。
关于ios - FetchedResultsController 和 GDC 之间对于从网络下载到表格 View 中的图像的冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19160302/
我目前正在试用DerelictSDL2 (绑定(bind)到 D 的 SDL2 库)并且我编写了一个成功加载 JPG 图像并将其显示在窗口中的代码。也就是说,当它使用 dmd 编译时。当我尝试使用 g
我搜索 Fedora 的 GDC 二进制版本(D2 -> D1 在源锻造上),但它不存在。然后我想从源代码编译它,但我不知道该怎么做。根目录中没有任何配置或制作文件。有好心人帮帮我吗?是的,我在 fe
我已经从 ubuntu 的软件中心安装了 GDC。 问题是当我尝试编译包含关键字 immutable 的源代码时,它给了我一个错误。然后我推断它只编译 D1。 如果我想用 GDC 编译 D2,我应该怎
我刚刚下载了与MinGW-w32一起使用的GDC(gcc-4.5.2-tdm-1-gdc-r575-20110723.zip),并且在尝试编译/链接文件时,出现以下错误: C:\crossdev\gd
我正在制作这个简单的ApplescriptObjC cocoa 应用程序,只是为了让我理解多线程,它是一个文本字段和一个标签,我试图在文本字段中输入时实时更新标签,但是它只有在我按下回车键后才会更新,
我是 D 编程新手。选择 DMD (2.061) 或 GDC(4.6、4.7 或 4.8,快照)的优缺点是什么?我应该选择哪个 GDC 版本?我已经成功构建了 GCC-4.8 和 GDC-4.8 的最
TL;博士: 我如何从拥有 DerelictGL3 等的源代码到使用 GDC 链接到它? 详细投诉: 我有一个用 D 编写的小程序。 (http://dlang.org) module control
有人可以告诉我如何构建 Makefile 以使用 gdc 编译 *.d 源代码吗? 具体来说,我已经通过 GDC 构建了具有 D 支持的 Android NDK、gcc、binutils(必须修改一些
我想部分等效的问题:使用 DMD 编译的代码是否应该在所有情况下使用 GDC 自动编译? 我问是因为我在从 ubuntu 10.4(看似循环依赖,叹气)存储库安装现代版本的 GDC 时遇到问题。 最佳
我对 D 非常陌生,仍在努力配置我的工具链。 我正在运行 Ubuntu Karmic,并希望将 DSSS 与 GDC 和 Tango 或 TangoBos 一起使用。 到目前为止,我从 these r
我从源代码编译了 ldc2 和 gdc 并且一直工作到一个月前。什么都没有改变,除了我不记得我会在终端中设置的变量,以使 ldc2 和 gdc 工作。 尝试编译 D 源代码时出现以下错误; 全局发展中
从编程的角度来看,由于代码的编写方式,我不一定能解决这个问题。 基本上,用伪代码表示: if NSUserDefaults' stored token exists{ setFlag(toke
我在 Windows 上安装了 GDC 和 DMD,并且正在使用 DUB 来构建和测试我的项目。 DUB 自动使用 DMD,但我也想通过 DUB 使用 GDC 编译器。 DUB 包引用 here暗示你
不同 D 编译器的优缺点是什么?性能和标准合规性/D2 支持如何?调试器的支持程度如何?错误消息有多好以及 IDE 集成如何? 64 位支持有多好?到目前为止我的想法: DMD 成熟且维护良好 只有一
我在哪里可以找到关于 GDC(GNU D 编译器)的规范以及如何重写标准 D 类型,如 uint 等? 有关信息:我对将 D 用于内核和其他低级内容很感兴趣。 谢谢。 最佳答案 您可以遵循 D ABI
我在哪里可以找到关于 GDC(GNU D 编译器)的规范以及如何重写标准 D 类型,如 uint 等? 有关信息:我对将 D 用于内核和其他低级内容很感兴趣。 谢谢。 最佳答案 您可以遵循 D ABI
我尝试在 coredata 和 FetchedResultsController 的帮助下构建一个 TableView (来自 coredata 的信息是通过服务器的 API 获取的),表中的每个单元
在研究 D 语言时,我遇到了 GDC,它是 GCC 的 D 编译器。我从这里下载了 MinGW 的版本: http://sourceforge.net/projects/dgcc/files/ 文档几
我正在尝试从源代码构建 GDC。我关注了these instructions并将gdc、testsuite 和libphobos 子目录复制到GCC 根目录中。但是我不明白如何调用脚本setup-gc
我正在使用 https://bitbucket.org/goshawk/gdc/downloads/gcc-4.5.2-tdm-1-gdc-r575-20110723.zip使用 TDM GCC 4.
我是一名优秀的程序员,十分优秀!