0

这是我在这里的第一个问题,我想问一下,在将应用程序发布到 App Store 之后,是否有办法从远程服务器更新 UITableView 内容(行)。

我正在做一个应用程序,它有一个 UITableView 充满了一些人,当你点击其中一个人时,它会向你显示他们的传记、youtube 频道、twitter 和 facebook 页面。

我只是想找到一种不时将更多人添加到列表中的方法,但不知道如何在不更改 TableViewController.m 的情况下做到这一点

我不想要的是:每次我必须向 UITableView 添加一些东西时都必须更新应用程序。

4

3 回答 3

3

当然这是可能的。很多应用程序都是这样做的。像 Apple 的 Mail 应用程序,还有第三方应用程序。你可以使用很多不同的方法,如果没有关于你的问题的更精确的信息,很难说出什么是适合你的。以下是一些一般性建议:

您可以在服务器上设置一个简单的 RSS 提要或纯 XML 文件,并不时从那里轮询您的列表。

或者,您可以使用带有简单后端的基本 (SQL) 数据库,您可以在其中修改数据。然后,您可以从此数据库下载您的内容。

下载过程必须在单独的线程上运行,因此您不会阻塞主线程。如果您使用NSURLConnection它会自动为您完成。下载完成后,您将更新表格视图。

编辑:

您必须将问题分解成小块并一一解决(分而治之)。

首先了解如何使用NSURLConnection下载文本文件并将其内容记录到控制台。这应该不是很困难,只需阅读文档并在没有成功时提出更具体的问题。

然后决定使用什么格式(RSS、plist、plain XML、JSON、其他......)并尝试下载和解析这样的文件。Plist 文件将是最容易解析的,但可能更难在您的服务器上手动编辑。还有可用的XMLJSON解析器。

根据数据的复杂性,您可能希望实现一些模型类并将下载的信息传递给它们。如果这是您想要做的,请考虑在用户关闭您的应用程序时使用 Core Data 在本地保存您的对象。您也可以使用 . 将下载的文件保存到磁盘NSFileManager

最后一步是使用现在本地存储在手机上的数据填充您的表格视图。这应该不是很困难,并且有很多关于此的教程。

于 2012-07-02T22:27:27.627 回答
1

Whatever object in your app that you've designated as answering to your table's "UITableViewDataSource" protocol is tasked with delivering data to the table view. What kind of data is delivered though, is up to you and your implementation.

The object that responds to the UITableViewDataSource protocol has to fulfill the required methods (number of rows in section, cell for row at index path, etc.). So if you want to provide additional data from some remote server, you can definitely do that, but you also should make sure to be able to handle failure cases like when the server is unreachable (no WiFi or Cell service).

于 2012-07-02T22:27:38.013 回答
0

你如何填充 TableView?你在哪里有信息?因为如果它在代码中,那是一个坏主意,也是一个糟糕的设计。

我建议从网络服务获取填写表格的信息,这样您就可以发送任意数量的人,而无需更新应用程序。

于 2012-07-02T22:26:13.147 回答