0

我有一个程序可以从链接中检索数据,然后像这样将它写到日志中。

NSURL *getURL=[NSURL URLWithString:@"link.php"];
NSError *error=nil;
NSString *str=[NSString stringWithContentsofURL:getURL encoding:NSUTF8StringEncoding error:&error];
NSLog(@"%",str);

这会按预期将我的 php 中的三个值打印到日志中。

但是,我很难将其保存在一个数组中,然后将这些值显示在一个UISplitviewController(左控制器端)中。

是这样写的

showArray=[[NSMutableArray alloc]initWithContentofURL:getURL];

然后在cellForRowAtIndexPath:方法是

cell.textLabel.text=[showArray object atIndex:indexPath.row];

我尝试的第二件事是将 myURL 写入一个数组并尝试用ContentsofArray这样的方式初始化 showArray

NSArray *retults=[NSArray arraywithContentsOFURL:getURL];
showArray=[[NSArray alloc]initWithArray:retults];

但是那行不通但是如果我说

showArray=[[NSMutableArray alloc]initWithObjects:@"One",@"Two",nil];

我的左视图控制器中的一两个节目......希望有人可以帮助我......谢谢

4

2 回答 2

1

您是要添加 URL 的内容还是 URL 本身?

如果您只是尝试添加 URL,请使用:

showArray = [@[getURL] mutableCopy];

但是,如果您尝试添加 URL 的内容,则文档明确指出URL 必须表示数组的字符串表示形式。

此外 :

如果该位置无法打开或该位置的内容无法解析为数组,则返回 nil。

编辑

我看到你对你的帖子的评论,你的数据看起来像 JSON 数据。您应该看一下NSJSONSerialisation使用起来非常简单的类(您会在 SO 上找到很多示例)。

于 2014-02-19T13:34:55.673 回答
0

你已经完美地完成了网络服务,现在你要做的就是将它解析为一个数组
首先下载此链接中的 SBJSON 文件

https://github.com/stig/json-framework/

然后,将它们复制到您的工作区。然后,在 viewController 添加这个

#import "SBJson.h"  

您的 JSON 数据包含字典形式的值

所以,解析它们

 SBJsonParser * parser=[SBJsonParser new];
 NSDictionary * jsonData=(NSDictionary *)[parser objectWithString:outputData];
 NSArray * arr=(NSArray *)[NSDictionary objectForKey:@"animal"];

我认为这会有所帮助

于 2014-02-19T14:17:56.790 回答