- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我使用 NSURLConnection 填充 TableView 的当前逻辑。这对我来说似乎并不优雅。
TableView Controller 的 viewDidLoad 方法使用 URL 字符串作为参数调用我的 api 包装器类中的“sendConnection”方法。此方法创建 NSURLConnection。在 connectionDidFinishLoading(在我的包装类中)中,另一个方法被调用(也在包装类中),并将连接作为参数。此方法从连接对象中提取 URL 并对其进行检查。然后它使用 switch 语句根据 URL 处理数据。数据存储在包装类本身的变量中。在调用 cellForRowAtIndexPath 时,异步调用已经完成并且数据已被处理。
有更好的方法吗?
我提出这个问题的原因如下:我想在单击时刷新具有新高度和新文本标签的单元格。该文本标签的数据将在单元格被点击时从服务器检索。每个单元格在标签中的数据略有不同(每个单元格代表一个“用户”,标签将显示您与该用户有多少共同好友)。我想在检索数据时将数据存储在单元格本身中,然后将其放入文本标签中。这对于我当前进行 URL 调用的方式来说似乎是不可能的。
任何有关如何实现这一目标的帮助将不胜感激。
最佳答案
这是我喜欢在这些情况下使用的模式的一些伪代码。也许它也会对您有所帮助。
- (void)viewDidLoad {
//1. put up some type of progressHud or spinner
//2. call your NSURL wrapper
//3. in the completion block of your wrapper, set your datasource variables
//example: @property (nonatomic,strong) NSArray *listOfData;
//4. create a custom setter for your datasource that calls tableview reload
//5. enable a refresh function; like "pull to refresh" or a bar button
//6. when pull to refresh is tapped or called, just repeat these steps
}
- (void)setListOfData:(NSArray*)listOfData {
_listOfData = listOfData;
if (_listOfData) {
[self.tableView reloadData];
}
}
当我再次阅读您的问题时,还有一些想法:上面的模式将适用于您的初始加载,创建人员或 friend 列表等。
如果您计划在单元格被点击后进行另一次往返,那么您必须考虑许多问题。这类似于将图像延迟加载到 tableview 单元格中的常见问题。有一些问题需要考虑滚动——如果单元格在数据返回之前从 View 中滚出怎么办,例如,如果单元格已被重用,现在数据不再与该单元格绑定(bind)怎么办。
Github 上有许多可用的异步图像库,可以很好地了解它们是如何解决这些问题的。通常他们会跟踪单元格中的项目,然后检查单元格是否仍在 View 中,如果在 View 中,他们会设置图像。
您有类似的问题需要解决。点击单元格,获取新数据,然后更新单元格。调整单元格的大小将需要您重新加载它。
查看 [tableview reloadRowsAtIndexPaths:(NSArray*) with RowAnimation:(UITableViewRowAnimation)];
希望对你有帮助最良好的祝愿;
关于ios - 使用 NSURLConnection 进行异步调用后处理数据的更好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23551527/
我必须在 Python 中分析/可视化模拟(Simulink、EES)的结果。 平均我必须从结果文件中导入 40-100 个变量(每个变量是一个包含多个 thausend 行的向量):每个变量在 re
我有一个使用 glKit 运行的游戏,我想在每一帧渲染后使用着色器添加一些后期处理效果。 是否可以在 glKit 下执行此操作? 最佳答案 这是可能的。 您需要创建自己的屏幕外帧缓冲区对象和相关纹理。
我是 GPS 世界的新手。我需要知道如何使用 DGPS 进行后处理。我在网上找到了关于 DGPS、后处理等的定义,但是,找不到关于如何实际进行 DGPS 后处理的明确步骤。在搜索提供商时,我发现 CO
我正在研究从 Apache 切换到 Nginx 作为后端 Grails 应用程序前面的反向代理。我正在玩一些 URL 重写并且遇到了从我的后端发回的响应的问题。我可以处理位置 header 重写,但我
如何在 Assimp 中加载网格、编辑顶点,然后让 assimp 重新计算顶点并进行其他后处理? 导入器可以导入场景并支持一些标志,其中包括生成法线的标志。然而,在我加载网格之后,我稍微编辑了网格(添
我正在尝试实现来自 http://www.aftek.com/afteklab/aftek-RTMP-library.shtml 的库从 red5 服务器流式传输实时视频。 在服务器上,我正在使用 s
我在 Godot 中有一个项目可以在敌人上方渲染广告牌四边形。四边形(网格实例)是敌人节点的子节点。我只想将四边形渲染到视口(viewport)以进行后处理,但四边形需要在屏幕上具有与敌人相同的位置(
我正在设置一个服务器来使用 tesseract 进行大量自动 OCR,并且我想对结果进行一些后处理。 在理论方面有很多关于此的资源,但在实践方面我没有找到太多资源。 我想你可以做一些基本的事情,比如:
假设我有一个函数fancyParse,旨在获取服务器返回的响应并将其转换为其他内容。如果响应毫无意义,或者设置了特殊的“内部错误”标志,则该函数将抛出异常。 我想将此函数链接到 $.post 调用中以
我有一个带有 knockout 值的基本输入字段: 但是,我想在收到“mytext”的值后对我的 View 模型执行一些逻辑。最初我想到了某种后处理事件ala“valueUpdate”,但基本上我只
将 PostProcessEffectRenderer 的实现添加到 Unity 后处理堆栈后,该效果在 Unity 编辑器中完美运行,但未在构建的游戏中显示。 对构建质量的更改没有效果,使用最高质量
我有一堆相当冗长的 xml 文件,它们以某种方式命名,例如“verbosefile_*.xml”。我有一对 python 脚本,可以将这些 xml 文件转换为紧凑的 json 格式,反之亦然。目前我的
我需要对从包(包是共享对象文件)导入的函数进行多次调用。但是,每次我从这个包中调用函数时,我都需要执行一些预处理/后处理步骤。像这样的事情: import xyz prepare() xyz.foo(
我需要对从包(包是共享对象文件)导入的函数进行多次调用。但是,每次我从这个包中调用函数时,我都需要执行一些预处理/后处理步骤。像这样的事情: import xyz prepare() xyz.foo(
我的问题是是否有一种方法可以简单地发布处理 wicket HTML 响应? 我想做的是使用 Rhino (http://www.mozilla.org/rhino/) 和 jQuery 将一些 DOM
这是我要存储在我的 Realm 数据库中的类。在构建应用程序时,它会抛出 “错误:如果声明了自定义构造函数,则必须声明不带参数的默认公共(public)构造函数。” 但在使用 realm 之前没问题
我正在尝试组合 SMAA和 SSAO在我的 THREE.EffectComposer 中,如下所示: this.composer = new THREE.EffectComposer(this.ren
我正在尝试为我的应用程序开发直接文件上传到 S3。我正在关注 github 教程,一切都差不多,但是在尝试进行后期处理时收到错误消息。 我做了以下事情: 我有一个名为 clip.rb 的 active
我已经开始使用 C++ 并在 projecteuler.net 上摆弄一些问题。 我在回答问题 #4,这是我的代码: 判断数字是否为回文的算法: bool forwardCheck(long posP
我是一名优秀的程序员,十分优秀!