我有一个字符串,可以从URL获取内容。我试图将这些内容放入一个将填充表视图的数组中。这是我的代码。我在这做错了什么?提前谢谢。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
NSString *strURL = [NSString stringWithFormat:@"http://10.247.245.87/index.php"];
NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];
NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];
NSArray *nameArray = [[NSArray alloc]initWithContentsOfURL:<#(NSURL *)#>;
return nameArray.count;
}
答案 0 :(得分:1)
我相信有几种方法可以做到这一点,但这是一种将JSON结果解析为数组的简单方法。从here下载SBJSON框架
并将其添加到您的项目中。然后将JSON.h文件导入#import "JSON.h"
。之后,您可以使用此行代码nameArray = [responseString JSONValue];
将字符串解析为数组。
#import "JSON.h"
nameArray = [responseString JSONValue];
快乐的编码!
编辑: 您可以尝试执行类似这样的操作,以便在将JSON解析为数组后检查是否有一个字符串数组:
for(NSAtring * myString in nameArray){
的NSLog(@ “%@”,myString的);
}
如果以上方法成功,那么您可以从数组中获取字符串并填充cellForRowAtIndexPath
委托中的tableview,如下所示:
cell.textLabel.text = [nameArray objectAtIndex:indexPath.row];
答案 1 :(得分:0)
在这一行:
return nameArray.count;
你总是会得0,因为你不等待来自serwer的回复。
答案 2 :(得分:0)
在NSData
..
NSArray *array = [NSJSONSerialization JSONObjectWithData:dataURL options:NSJSONReadingAllowFragments error:nil];
return array;