将NSURL的内容写入数组

时间:2014-02-19 13:18:40

标签: ios uisplitview

我有一个从链接中检索数据的程序,我将其写入日志,就像这样。

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];

我的左视图控制器中有一个和两个节目.... 爱是否有人可以帮助我...谢谢

2 个答案:

答案 0 :(得分:1)

您是否尝试添加网址或网址本身?

如果您只想添加网址,请使用:

showArray = [@[getURL] mutableCopy];

但是,如果您尝试添加URL的内容,则the doc clearly states表示URL必须表示数组的字符串表示形式。

此外:

  

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

编辑

我在您的帖子中看到了您的评论,您的数据看起来像JSON数据。 你应该看看NSJSONSerialisation类非常简单易用(你可以在SO上找到很多例子)。

答案 1 :(得分: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"];

我认为这会有所帮助