iOS / Restkit应用程序devise

我目前正在开发一个由rails支持的iOS应用程序。 对于iOS和Rails之间的通信,我使用RESTkit框架,因为它带走了很多工作!

我对如何pipe理代码开始增长时有一些怀疑! 当你使用RESTKit时,你如何devise你的应用程序? 你提供给你的控制器什么样的数据层来执行不同的操作?

谢谢

我通常更喜欢创build一个单例数据控制器,它根据模型对象和正在执行的人类可理解操作(getPost,addCommentToPost,createPost,…)提供API。 这给了一个地方,控制器去获取数据,意味着我不需要通过数据控制器。 这也意味着所有的映射都在一个地方,并与其余的代码隔离(所以当服务器发生变化时,我不需要更改控制器中的任何代码,只需将代码映射到模型对象中) 。

我不知道你的目标是与你的build设in.But开始build议你创build自己的自定义类(例如: 单击此链接 ,其确实接受请求(可能是POST / GET / PUT),你以json格式制作并引发你的细节。

在服务器端, 创buildREST api (我更喜欢php)桥,以便能够访问服务器数据库。

开始使用POST方法进行login身份validationtesting(我更喜欢这个,因为它更安全)。

login页面之后,我假设你想显示与铁路有关的数据列表,然后使用UITableView / UICollectionView /自定义GridView.It取决于您的要求。并使用asynchronous方式发送请求,但下面我没有使用那样 ;-)

例如:用于loginauthentication

NSString *post =[[NSString alloc] initWithFormat:@"userName=user&password=pwd"]; NSURL *url=[NSURL URLWithString:@"Your URL/authenticate"]; NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]]; NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; [request setURL:url]; [request setHTTPMethod:@"POST"]; [request setValue:postLength forHTTPHeaderField:@"Content-Length"];** [request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; [request setHTTPBody:postData]; NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; if( theConnection ) { receivedData = [NSMutableData data]; } else { NSLog(@"theConnection is NULL"); } 

注:始终尝试以json格式返回响应。

问:为什么REST API使用JSON? 为什么不是SOAP?

==>许多企业正在为他们的内部员工,他们的客户或两者都创build移动应用程序。 这些应用程序需要访问数据,业务规则和业务stream程。 由于架构和安全原因,这些应用程序通常构build为访问远程服务,以提供用户所需的数据和function。 这就是为什么Yahoo的所有Web服务都使用REST。

-FASTER:REST几乎总是会更快。

-LOW BANDWIDTH:REST更轻巧。 对于即使是低带宽和networking的移动设备,Restful服务也适用于移动设备。

低内存消耗:移动设备中的重要/必须的事情是我们在运行我们的应用程序时如何处理内存。 REST总是使用更less的内存,没有任何不需要的xmlstring。

关于REST或者SOAP,最后一个确实对于移动平台来说真的很重,并且不太容易实现。 SOAP也需要XML,不能和JSON一起使用。 而使用REST,您可以使用JSON或XML,并使用RESTKit( http://restkit.org/ )在移动设备上轻松实现它,为了安全起见,我们可以使用HTTPS和签名证书的SSL连接。

来源: http : //en.wikipedia.org/wiki/Representational_state_transfer

我相信上面给出的信息还不够,你需要做一个google。( http://www.restapitutorial.com