iPhone:如何从web应用程序获取数据?

iPhone:如何从web应用程序获取数据?,iphone,objective-c,api,web-applications,Iphone,Objective C,Api,Web Applications,对不起,如果这是一个愚蠢的问题,但我是新手 我正在开始iPhone应用程序开发,并希望创建一个涉及从web服务提取数据的应用程序 假设url是http://myapp.com/api/people/fetchall并返回XML数据 如何将这些数据输入iPhone应用程序 更新:在做了一些研究之后,我决定(在服务器端)实现一个返回JSON的。因此,我的iPhone应用程序最终将是一个REST客户端 资源: 以下是一些到目前为止我发现很有用的链接: 看一看这个项目Facebook iPho

对不起,如果这是一个愚蠢的问题,但我是新手

我正在开始iPhone应用程序开发,并希望创建一个涉及从web服务提取数据的应用程序

假设url是
http://myapp.com/api/people/fetchall
并返回XML数据

  • 如何将这些数据输入iPhone应用程序
更新:在做了一些研究之后,我决定(在服务器端)实现一个返回JSON的。因此,我的iPhone应用程序最终将是一个REST客户端

资源: 以下是一些到目前为止我发现很有用的链接:


看一看这个项目Facebook iPhone应用程序的开发者乔·休伊特(Joe Hewitt)将他的大量工作开源,包括一个可以用网络数据填充自己的表视图类。

看一看这个项目Facebook iPhone应用程序的开发者乔·休伊特(Joe Hewitt)将他的大量工作开源,包括一个表视图类,该类可以用网络中的数据填充自身。

好的,您已经详细介绍了要点,这是一个很好的开始

首先,web应用程序需要其API以客户端可以轻松解析的格式返回数据,无论是iPhone应用程序还是其他任何应用程序。因此,许多web应用程序使用JSON或XML。HTML不是传输数据的好格式,HTML适合标记要显示的文本

因此,首先,编写web应用程序以返回XML或JSON格式的响应。如果您有时间,您可以让您的web应用同时执行这两项操作,并将响应的格式指定为参数

要将数据从web应用程序下载到iPhone应用程序,您需要建立URL连接并从其中一个API调用下载数据

例如,如果您的API有一个方法将返回有关用户的一些信息,那么您需要在iPhone客户端中构建一个http请求,并通过API URL将其发送到服务器,指定它是GET还是PUT或其他类型的http请求

要了解这方面的有趣类是
NSURLRequest
及其可变对应项和
NSURLConnection
及其委托协议
nsurlconnectionelegate

解析数据将取决于数据的格式。对于XML,您可以使用iPhone SDK中提供的XML解析器,
NSXMLParser

如果要使用JSON,可以使用iPhone上提供的JSON解析库之一。就我个人而言,我使用过和

要填充表视图,您需要实现来自
UITableViewDataSource
方法的两个方法,以及来自
UITableViewDelegate
的一些方法。阅读
UITableView
类和上述协议的文档应该可以为您提供足够的信息来开始使用它们


我希望这对您有所帮助,并为您提供了解更多信息的起点。

好的,您已经详细介绍了要点,这是一个良好的开端

首先,web应用程序需要其API以客户端可以轻松解析的格式返回数据,无论是iPhone应用程序还是其他任何应用程序。因此,许多web应用程序使用JSON或XML。HTML不是传输数据的好格式,HTML适合标记要显示的文本

因此,首先,编写web应用程序以返回XML或JSON格式的响应。如果您有时间,您可以让您的web应用同时执行这两项操作,并将响应的格式指定为参数

要将数据从web应用程序下载到iPhone应用程序,您需要建立URL连接并从其中一个API调用下载数据

例如,如果您的API有一个方法将返回有关用户的一些信息,那么您需要在iPhone客户端中构建一个http请求,并通过API URL将其发送到服务器,指定它是GET还是PUT或其他类型的http请求

要了解这方面的有趣类是
NSURLRequest
及其可变对应项和
NSURLConnection
及其委托协议
nsurlconnectionelegate

解析数据将取决于数据的格式。对于XML,您可以使用iPhone SDK中提供的XML解析器,
NSXMLParser

如果要使用JSON,可以使用iPhone上提供的JSON解析库之一。就我个人而言,我使用过和

要填充表视图,您需要实现来自
UITableViewDataSource
方法的两个方法,以及来自
UITableViewDelegate
的一些方法。阅读
UITableView
类和上述协议的文档应该可以为您提供足够的信息来开始使用它们

我希望这对你有所帮助,并给你一个了解更多的起点。

非常简单。。。 这里有几个链接可以让你开始

本教程将告诉你如何在plist文件中进行必要的更改,以及如何告诉你的应用程序从URL启动。其次,代码需要在应用程序委托类中的方法中完成,该方法名为:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
从url获取所需的所有信息,并从该url调用JSON web服务。调用JSON的示例如下:

[[AFCoVuAPIClient sharedClient] getPath:@"whatever.json"
                                         parameters:[NSDictionary dictionaryWithObject:loginSessionKey forKey:@"login_session_key"]
                                            success:^(AFHTTPRequestOperation *operation, id responseObject) {
                                                NSLog(@"Did logout successfully on app termination");

                                                [application endBackgroundTask: background_task]; //End the task so the system knows that you are done with what you need to perform
                                                background_task = UIBackgroundTaskInvalid; //Invalidate the background_task
                                            }
                                            failure:^(AFHTTPRequestOperation *operation, NSError *error) {
                                                NSLog(@"Did NOT logout successfully on app termination");
                                            }];
你可以将数据保存在你的单例类中

您的afcovapiclient class.h文件如下所示

#import "AFHTTPClient.h"

@interface AFCoVuAPIClient : AFHTTPClient    

+(AFCoVuAPIClient *)sharedClient;

@end
afcovapiclient.m文件如下所示 #导入“afcovapiclient.h”

希望这有助于

非常简单。。。 这里有几个链接可以让你开始

本教程将告诉你如何在plist文件中进行必要的更改,以及如何告诉你的应用程序从URL启动。其次,代码需要在应用程序委托类中的方法中完成,该方法名为:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
从url获取所有信息