如何有效地将图像从服务器加载到tableView?

2024-06-24

我有一个表格视图,其中所有单元格都有 UITableViewCellStyleSubtitle, 所有细胞的图像均从服务器获取。

然而,这些图像并不经常改变。

有人可以告诉我如何改善用户体验吗?每次用户向下滚动表格时,就好像它再次上网检查和下载图像。

或者至少,向我展示一些可用于实现目标的选项。

Thanks,


The Three20 http://three20.info库有一个 ImageView 子类,它接受远程图像的 URL 并使用出色的 TTURLRequest/Caching 机制来获取图像。它维护内存和磁盘缓存,并且仅下载未缓存或已过期的图像。您可以配置默认缓存过期时间或使用 HTTP 响应中的值。如果您使用 TTTableViewController 子类和适当的 TTTableItem 子类,您将免费获得适当的图像下载行为。但是,没有必要使用每三个组件来完成您需要的操作。如果您要集成到现有代码中,您可以创建自己的 UITableViewCell 子类,该子类使用 TTImageView 而不是标准 UIImageView。然后,在单元格配置方法中,您可以设置默认占位符图像和要加载的 URL,它几乎会处理其余的事情。作为性能优化,您还应该在 tableview 控制器中实现 UIScrollView 委托方法,以在滚动期间挂起 TTURLRequestQueue(查看 TTTableViewController 以了解这是如何完成的)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何有效地将图像从服务器加载到tableView? 的相关文章

  • 从 iPhone 上的 NSString 中删除 HTML 标签

    有几种不同的方法可以删除HTML tags从一个NSString in Cocoa One way http cocoa karelia com Foundation Categories NSString Flatten a string
  • 外围 BLE 设备的唯一标识符

    所以我有外围设备BLE设备 我需要一些标识符以便稍后与另一部 iPhone 共享 我连接的示例iPhone A 为外围设备 iPhone A 将外围设备的标识符保存到数据库中 稍后我可以轻松获取iPhone B 并连接到通过该标识符找到的外
  • 带有内容矩形抖动的核心动画

    在我的 益智 游戏中 这些碎片是使用CALayer对于每件作品 有 48 块 在 8x6 网格中 每块为 48x48 像素 我不确定这是否是太多层 但如果这不是最好的解决方案 我不知道什么是 因为使用 Quartz2D 每帧重新绘制整个显示
  • 从 xib 中提取 UI 项目?

    经过一番浏览文档后 我决定使用以下技术 使用 viewWithTag 从 loadNibNamed owner options 返回的主根视图中提取子视图 首先 我有点困惑 因为我假设 loadNibNamed owner options
  • 处理 NSPropertyListSerialization 中的 CFNull 对象

    在我的应用程序中 我尝试序列化服务器响应字典并将其写入文件系统 但对于某些响应 我收到错误 属性列表格式无效 原因是服务器响应中的 CFNull 对象 现在 服务器响应将不断变化 因此我没有明确的方法来删除 CFNull 对象 下面是我的代
  • 标签中的文字大小

    如何限制标签中的字符数 您可以通过设置自动截断带有省略号的文本frame of the UILabel NSInteger newSize 10 label frame CGRectMake label frame origin x lab
  • 如何获取 UITableView 内容视图的大小?

    我想在填充表格时获取 UITableView 内容视图的大小 关于如何执行此操作有什么建议吗 Allows you to perform layout before the drawing cycle happens layoutIfNee
  • Default.png 在模拟器中显示,但在真机 iPhone 上不显示?

    我通过添加 Default png 向我的应用程序添加了启动屏幕 启动画面在模拟器中工作正常 但在真实设备上不显示 检查文件名的大小写 Default png default png Default PNG 和 DEFAULT png 在设
  • NSFetchedResultsController 不显示来自其他上下文的更新

    我设置了一个 NSFetchedResultsController 来填充 UITableView 基于我的 主 NSManagedObjectContext 在计时器中 我不断地将对象添加到单独的 NSManagedObjectConte
  • 适用于 iOS (iPhone/iPad) 的 XMPP 库 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 需要访问tableView中的单元格:heightForRowAtIndexPath:

    我需要从以下位置访问表格中的单元格tableView heightForRowAtIndexPath 因为我想使用自定义单元格上的数据进行高度计算 我发现获取细胞的唯一方法是打电话tableView cellForRowAtIndexPat
  • 在 Interface Builder 中设置 UIImageView 的图像

    当我在 IB 中为 UIImageView 设置图像并模拟界面时 按钮和内容会显示 但图像视图不会显示 这是因为 Interface Builder 使用的模拟器独立于您的项目 它只是获取 xib 文件 构建界面并显示它 因此 它找到引用但
  • ios中的过滤器数组检查多个属性

    我有一系列自定义对象 自定义对象看起来像这样 interface User NSObject property nonatomic strong NSString user Id property nonatomic strong NSSt
  • 在 uiwebview 中使用 javascript 将样式应用于文本范围

    我在 iPhone 上的 UIWebView 中将一些简单样式的文本显示为 html 它基本上是一系列段落 偶尔有强烈或强调的短语 在运行时 我需要将样式应用于文本范围 有一些类似的场景 其中之一是突出显示搜索结果 如果用户搜索了 某事 我
  • 用于 iOS 搜索的 Facebook Graph API

    我尝试使用以下代码从 Graph API 中搜索地点 但没有成功 有人可以启发我的道路吗 如果我尝试发布链接 消息 照片 它会按预期工作 但是当尝试获取位置时 它总是失败并给我 The operation couldn t be compl
  • 计算两个坐标之间的距离和路线

    我有 2 个坐标 想做一些看似简单的事情 我想弄清楚 鉴于 1 坐标A 2 Core Location提供的课程 3 坐标B 下列 1 A 和 B 之间的距离 目前可以使用 distanceFromLocation 来完成 所以就可以了 2
  • iPhone通讯录:如何获取仅包含电话号码的联系人列表?

    我想获取所有具有电话号码的 ABContacts 的列表 并且仅获取这些联系人 我不想显示任何仅包含电子邮件的联系人 Android 有一个名为 HAS PHNONE NUMBER 的字段 您可以查询该字段 但我没有在 iPhone 上看到
  • 动态创建的标签被覆盖

    我正在开发一个应用程序 其中我在一个函数中动态添加了 5 个标签 当我回想起相同的函数时 尽管在每次创建时释放了标签 但先前创建的标签上的标签都会被覆盖 for int i 1 i lt array count i CGRect lblfr
  • AVAssetWriter 不适用于音频

    我正在尝试让音频与 iOS 应用程序的视频一起使用 视频很好 文件中没有录制任何音频 我的 iPhone 扬声器可以工作 这是初始化设置 session AVCaptureSession alloc init menu gt session
  • 为什么 mp4 视频在 iPad 上可以正常播放,而在 iPhone 上却不行?

    我对这个问题很困惑 我有一个大型 H 264 mp4 视频文件库 需要在 iOS 上播放 最初 我只针对 iPad 但要求发生了变化 现在我需要包括 iPhone 但我注意到 我的 iPod Touch 与我的 iPad 具有完全相同的操作

随机推荐

  • 如何为 java 调用者声明返回类型为“void”的 Kotlin 函数?

    我有一个完全用 Kotlin 编写的库 包括其公共 API 现在该库的用户使用 Java 这里的问题是 Kotlin 函数具有返回类型Unit未编译为返回类型void 结果是 Java 端必须始终为实际上无效的方法返回 Unit INSTA
  • 用于存储键值映射的最佳 PostgreSQL 数据类型?

    我想将一个简单的键值字符串映射存储为 PostgreSQL 表中的字段 我打算将地图视为一个整体 即 始终选择整个地图 并且永远不要通过其键或值进行查询 我读过文章比较hstore json and jsonb 但这些并不能帮助我选择哪种数
  • 如何在 SwiftUI 中声明“全局@State变量”?

    我是 SwiftUI 新手 目前正在构建我的第一个应用程序 但是 我有一个问题 我正在编写一个多视图应用程序 在其中我想使用某种全局变量以便能够从我的所有视图访问和编辑它们 例如 我在应用启动时询问用户的 性别 体重 和 许可证 但是 我也
  • 为什么在 Numpy 中双布尔索引会得到这样的结果?

    我对最后一个表达式的结果感到惊讶 gt gt gt from numpy import array arange gt gt gt a arange 12 reshape 3 4 gt gt gt b1 array False True T
  • 在react.js 中的 componentDidMount() 中执行 fetch 之前,如何通过 navigator.geolocation 获取用户的位置?

    我尝试过多种不同的方法 但我被难住了 不熟悉如何在 React 中使用 Promise 和进行 api 调用 这就是我现在所拥有的 import React Component from react import Column from C
  • Chromedriver 在 Selenium 测试中未加载页面

    我在使用 chromedriver exe 以及我在 Selenium 的帮助下编写的一些单元测试时遇到了异常情况 当使用 chromedriver 的第一个测试执行时 浏览器启动并且测试通过 但是 对于使用 chromedriver 的以
  • 有没有更好的方法来使用Tornado处理index.html?

    我想知道是否有更好的方法来使用 Tornado 处理我的 index html 文件 我对所有请求使用 StaticFileHandler 并使用特定的 MainHandler 来处理我的主要请求 如果我只使用 StaticFileHand
  • Enum.GetName 与 Enum.ToString

    对于这个枚举 Enum MyEnum Value End Enum 有两种方法获取名称表示Value of MyEnum Value Enum GetName GetType MyEnum MyEnum Value aka Enum Get
  • 如何使用 OR/AND 运算符在 GitHub 上进行搜索

    如何在 GitHub 上搜索包含关键字 java AND python 或 C 的问题 是否可以使用 OR AND 等逻辑运算符来表示搜索 事实证明 GitHub并没有提供实现ANR OR这样的搜索逻辑的函数 我想到的解决方案是编写一个爬虫
  • 尝试使 Hazelcast 集群与 JCache 兼容客户端一起使用时出现异常

    我正在尝试让一个小型 Hazelcast 集群与简单的 JCache 兼容客户端配合 不幸的是 我得到了异常 java lang IllegalArgumentException 没有使用名称注册的服务 hz impl cacheServi
  • 存储过程中的分组和循环

    我需要对 MTH1 MTH2 等列进行求和 但对于我传递的参数 它将为同一帐户代码生成六行信息 这是正确的 它应该产生什么我的问题是如何只返回其中一个数据 但是到目前为止 这就是我的存储过程中六行的总和 ALTER PROCEDURE db
  • 使用 php 发送 Windows Phone 7 的推送通知

    我是一名网络开发人员 PHP 我想使用 PHP 搜索 Windows Phone 7 的推送通知 但结果始终是 NET 请有人可以帮助我 UPDATE 如何同时发送多台设备 因为延迟时间在1秒左右 所以如果我有1000个设备要推送 我可能需
  • Angular ng-repeat 导致闪烁

    我正在使用以下代码显示缩略图列表 div class channel img class channel img div 在控制器中 我有一个 ajax 请求 它可以获取新的缩略图 因此 Angular 会更新图像 但会导致闪烁 有没有办法
  • 如何在 Docpad 中处理路线

    这应该是非常明显的 但我就是无法理解它 如何在 Docpad 中添加额外的路线 我正在寻找相当于express js的Docpad app post function res req next Do stuff 据我所知 我需要为此创建一个
  • dynamodb:如何增加地图中的值

    我正在尝试使用 dynamodb 来维护map名称及其值 eg scores player a 10 我还希望使用增量运算符来执行原子增量 但是 我找不到关于如何使用 更新 dynamodb 地图的文档 这是我到目前为止的Python代码
  • DOMXPath 根据前一个同级值获取同级

    假设我有这个
  • 如何使用 Calc 列规则在 Emacs Org 模式中实现行索引列

    我希望在组织模式表中有一个列是一个简单的单调递增值 即行号 这样当我插入和删除随机行时索引值会自动调整 我怀疑这应该很简单 但看起来我让它变得太困难了 请注意 我是使用 Emacs 和 org 模式构建电子表格的新手 因此 一个简单的电子表
  • d3-sankey 链接在拖动事件时未更新

    问题一 我无法更新拖动事件上的 d3 sankey 链接 我正在尝试复制与此类似的 d3 垂直和水平拖动事件 https bl ocks org d3noob 5028304 https bl ocks org d3noob 5028304
  • 如何使用 angularjs 动态添加行?

    我使用代码通过单击 添加行 来添加行和 2 列 我的需要是 首先在输入字段中填写值 单击 添加项目 按钮后 值必须显示在表结构中 我是初学者 无法使用 for 循环 任何人都可以解决这个问题吗 尝试代码 https jsfiddle net
  • 如何有效地将图像从服务器加载到tableView?

    我有一个表格视图 其中所有单元格都有 UITableViewCellStyleSubtitle 所有细胞的图像均从服务器获取 然而 这些图像并不经常改变 有人可以告诉我如何改善用户体验吗 每次用户向下滚动表格时 就好像它再次上网检查和下载图