【问题标题】:How to format list in PHP to be used as an NSArray in Objective C?如何在 PHP 中格式化列表以用作 Objective C 中的 NSArray?
【发布时间】:2011-11-10 14:26:12
【问题描述】:

所以我对 PHP 完全陌生。事实上,我对此一无所知。我正在开发一个 iPhone 应用程序,旨在从服务器获取项目列表。我的 PHP 脚本实际上只是一个“回显”命令。

我想知道在 PHP 上格式化我的列表的最佳方法是什么,以便它看起来尽可能接近(如果不相同)目标 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"

而这在 objc 方面:

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 传递到 iOS,因为彼此一无所知。我建议查看一种网络服务来相互交换数据。此链接可能会有所帮助:stackoverflow.com/questions/3152700/… 和此 en.wikipedia.org/wiki/List_of_web_service_protocols
  • componentsSeparatedByString:@", " ?也许有空间?制作json或xml并在app中解析
  • 谢谢大家,但由于(如前所述)我对 PHP 一无所知,我不确定我是否可以进入编码/解码 json 数据...

标签: php objective-c ios arrays web-services


【解决方案1】:

根据您对 PHP 知之甚少的评论,这是一个 Web 服务的基本示例,它可以返回连接到 MySQL 数据库的 XML 或 JSON。同样非常基本,但它是一个工作示例,应该很容易让您入门。

iOS 和 PHP 都支持 XML 或 JSON,您在这两个上查找示例应该没有问题。我还建议查看 Webservice Protocols 以更好地了解可用的服务类型。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2020-07-26
        • 1970-01-01
        • 1970-01-01
        • 2010-10-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-29
        相关资源
        最近更新 更多