带有 NSURLConnection 的 NSFetchedResultsController
我有一个 User
类,想要显示许多用户的缩略图,并覆盖他们的名字。如果他们在线,则会覆盖一个绿点,等等。在类似网格的 tableView 中(如 Grindr,类似于 iPhone 的相机胶卷)。
首先,我从服务器获取最近(地理位置上)20 个用户的用户数据 JSON 数组。然后,我解析 JSON 并将它们插入到 ManagedObjectContext 中。
如何在 UITableView 中显示这些用户?我正在考虑使用 NSFetchedResultsController,但我从未见过 NSURLConnection 的示例。这是我发现的东西,但我并没有真正理解它,因为它不是很彻底: http://www.litp.org/blog/?p=78 不过,我想我会看看是否可以做类似的事情,除非你给我一个更好的主意。
一旦我有了用户数据,我将为每个用户的缩略图创建一个thumbView(子视图),并执行如下操作: http://www.markj.net/iphone-asynchronous-table-image/ 加载每个thumbView的用户缩略图。
您会如何做?我是否应该使用 Core Data?我应该只使用 NSArray
吗?我认为使用 Core Data 可以带来更好的用户体验并减少服务器带宽。
该项目在github上名为acani。
谢谢!
马特
I have a User
class and want to display many users' thumbnails w/ their name overlayed & a green dot overlayed if they're online, etc. in a grid-like tableView (like Grindr, similar to iPhone's Camera Roll).
First, I fetch a JSON array of user data for the nearest (geographically) 20 users from the server. Then, I parse the JSON and insert them in the managedObjectContext.
How do I display these users in a UITableView? I was thinking of using an NSFetchedResultsController, but I've never seen an example with NSURLConnection. Here's something I found, but I don't really get it cause it's not very thorough:
http://www.litp.org/blog/?p=78
Still, I think I'm gonna see if I can do something like that unless you give me a better idea.
Once I have the user data, I'll have a thumbView (subview) for each user's thumbnail and do something like this: http://www.markj.net/iphone-asynchronous-table-image/ to load the user thumbnail for each thumbView.
How would you go about doing this? Should I even use Core Data? Should I just use an NSArray
? I figured using Core Data could make for a better UX and reduce server bandwidth.
The project is called acani on github.
Thanks!
Matt
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
通常,使用 Core Data,您将创建两个上下文,一个用于 UI,另一个用于 URL 连接。 URL 连接在后台线程上运行。它下载数据,创建管理对象,然后保存。将更改与 UI 上下文合并,获取的结果控制器应自动检测数据更改并更新表。
Usually, with Core Data you would create two context, one for the UI and one for the URL connection. The URL connection runs on a background thread. It downloads the data, creates the managed objects and then saves. The you merge changes with the UI context and the fetched results controller should automatically detect the data changes and update the table.