我是iPhone SDK的新手,并且已经阅读了许多关于与iPhone的RESTful服务集成的线程。但是我不是更聪明的人。你能帮忙吗?
我在服务器上有一些PHP和一个MySQL数据库字符串。我将3条信息从iPhone发送到PHP,然后进行思考并与数据库聊天。
然后返回1,2或3个值,具体取决于POSTed和数据库的信息。
我遇到问题的方法是以可以在iPhone上分析的方式捕获和存储响应。
我已经尝试将数据作为字符串(echo / return),数组和最后的XML返回。这似乎都不起作用。
有没有人对此有任何想法,或者可能指出我正确的方向?
理想的情况是最终得到一个数组或3个变量,我可以使用基本的if语句进行测试。
提前致谢。
答案 0 :(得分:4)
另一种方法是使用github上提供的CocoaREST代码:http://github.com/sdegutis/CocoaREST。它最近才发布,但似乎正在积极开发中,看起来相对简单易用。
编辑:正如另一个答案中所建议的那样,另一种方法是使用XML格式。我建议一个特定的变体:你可以使用XML,但使用plist格式的XML。这样你就可以避免自己解析XML的需要,只需使用类似的东西:
NSArray * myArray = [NSArray arrayWithContentsOfURL:[NSURL URLWithString:@"http://example.com/xmlProducer"]];
(类似地,您可以从URL创建NSDictionary,NSString等)
答案 1 :(得分:3)
如果您可以以JSON格式发送数据,我建议您尝试使用Objective-C JSON framework。我发现它很容易上手。 JSON非常容易用于在数组和键值字典中发送数据。使用该框架,您可以通过一次方法调用将json数据转换为NSArrays或NSDictionaries。
this blog上有几个不错的教程。另外,请务必查看json.org。
另一种选择是查看ObjectiveResource framework。它旨在与基于Ruby on Rails的服务一起使用,但如果您的API真的是REST,那么您应该能够使用它。
答案 2 :(得分:1)
将数据作为plist(它是XML的子集)发回,这是最容易解析的。