我有一个从链接中检索数据的程序,我像这样将其写到日志中。
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];
在我的左视图控制器中显示一个和两个....很高兴有人可以帮助我解决这个问题...谢谢
您是尝试添加 URL 的内容还是 URL 本身?
如果您尝试只添加 URL,请使用 :
showArray = [@[getURL] mutableCopy];
但是,如果您尝试添加 URL 的内容,则文档会明确指出 URL 必须表示数组的字符串表示形式。
此外:
如果无法打开位置或无法将位置的内容分析为数组,则返回 nil。
编辑 :
我看到了您对帖子的评论,您的数据看起来像 JSON 数据。您应该查看 NSJSONSerialisation
类,它使用起来非常简单(您会在 SO 上找到很多示例)。
你已经完美地完成了 Web 服务,现在你要做的是将其解析为一个数组
首先在此链接中下载SBJSON文件
https://github.com/stig/json-framework/
然后,将它们复制到工作区。然后,在视图中控制器添加这个
#import "SBJson.h"
JSON 数据包含字典形式的值
所以,解析它们
SBJsonParser * parser=[SBJsonParser new];
NSDictionary * jsonData=(NSDictionary *)[parser objectWithString:outputData];
NSArray * arr=(NSArray *)[NSDictionary objectForKey:@"animal"];
我认为这会有所帮助