如何在PHP中格式化列表,以便在Objective C中用作NSArray


How to format list in PHP to be used as an NSArray in Objective C?

所以我是一个全新的PHP。事实上,我对此一无所知。我正在开发一个iPhone应用程序,旨在从服务器获得项目列表。我的PHP脚本实际上只是一个"echo"命令。

我想知道在PHP上格式化我的列表的最好方法是什么,所以它看起来尽可能接近(如果不相同)objective c中的NSArray。

例如我的列表是:AAA, BBB, CCC, DDD

在obj-C中运行:

NSArray *myAwesomeArray = [[NSArray alloc] initWithObjects: @"AAA", @"BBB", @"CCC", @"DDD", nil];

我将得到这个,这是我想要的:

myAwesomeArray IS (
AAA,
BBB,
CCC,
DDD
)

在PHP中这样做时(同样,可能是错误的格式):

echo "AAA, BBB, CCC, DDD"

在对象端:

NSString *urlString =  @"http://......";
NSMutableURLRequest *request = [[NSMutableURLRequest alloc]init];
[request setTimeoutInterval:60.0];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];
NSString *myPHPArray = [[NSString alloc] initWithData:[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil] encoding:NSUTF8StringEncoding];
NSArray *myArray = [myPHPArray componentsSeparatedByString:@","];

我得到这个在objc为myArray:

myArray is (
AAA,
" BBB",
" CCC",
" DDD "
)

有点乱…

感谢任何帮助。谢谢!

从你对PHP知之甚少的评论来看,这是一个可以返回XML或JSON连接到MySQL数据库的web服务的基本示例。同样是非常基本的,但这是一个工作的例子,应该很容易让你开始。

  • http://davidwalsh.name/web-service-php-mysql-xml-json

XML或JSON在iOS和PHP中都是支持的,你应该不会有任何问题。我还建议查看一下web服务协议,以便更好地理解可用服务的类型。

  • http://en.wikipedia.org/wiki/List_of_web_service_protocols

您需要采用PHP和iOS都使用的通用协议。我推荐JSON。PHP支持JSON,现在iOS 5原生支持JSON(或者你可以使用第三方库之一)。只需按你想要的结构安排你的数据,将其编码成JSON,传输它,并让JSON在iOS上解码成nssarray和nsdictionary。

您应该使用XML。如果你使用plist格式,你可以使用NSArray *foo = [responseString proprietyList];或者类似的东西。或者可以使用NSXMLParser;)