我有一个自己的网站,我想编写一个应用程序,从中加载数据(字符串/文本)以填充 iPhone 上的表格视图(如待办事项列表)。我想一直更改我的应用程序(表格视图)的内容,而不在 App Store 中进行更新。当应用程序启动时,它应该从我的网站上抓取内容......
我应该使用 FTP 来做这样的事情还是有更好的方法来加载和操作数据?
如果内容是简单的文本/字符串,则不需要FTP(这在从 Web 到应用程序的大文件传输的情况下很有用),那么最合适的方法是RESTful Services
.
RESTful Services
能够以GET/POST
非常简单的方式获取数据。因此,您可以轻松地将数据从网站传输到iOS application
. 每当您更改数据时,它都会自动更改iPhone app
. App Store
所以上传申请后无需更改。
希望这对你有帮助!
最好的方法是使用 JSON 在设备和服务器之间传递数据。它是轻量级的并且很容易解析。
要通过网络进行通信,我会向您推荐 AFNetworking 用于发送和接收数据(您也可以使用 NSURLConnection,但 AFNetworking 是基于它构建的并且非常高效)
如果您正在寻找超快速的解决方案,那么您也可以选择PubNub
为了获得最佳的开发人员体验,您应该在 REST 服务中使用 JSON 或 XML。
我建议你做的是使用CoreData
and NSFetchedResultController
。这是非常明确的解决方案。
但是对于 simleproject 你可能有NSJSONSerialization
class 或NSXMLParser
. 在我看来,您应该尝试 JSON。在这种情况下,文档是直截了当的。
假设您有 JSON REST API:
dispatch_queue_t fetchQueue = dispatch_queue_create("nameOfYourQ", NULL);
dispatch_async(fetchQueue, ^{
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://yourlink"]];
NSArray *arr = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
dispatch_async(dispatch_get_main_queue(), ^{
[yourTableView reloadData];
});
});
而已。
一个简单的解决方案是使用JSON over HTTP。要制作更稳定的解决方案,您可以使用完整的RESTful Web 服务。使用 HTTP 状态代码通知您的客户端应用程序发生了什么。
使用AFNetworking将使调用 Web 服务和解析 JSON 响应变得非常容易。