0

我有一个从 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;

}
4

3 回答 3

1

我相信有几种方法可以做到这一点,但这里有一种将 JSON 结果解析为数组的简单方法。从此处下载 SBJSON 框架 并将其添加到您的项目中。然后将 JSON.h 文件导入到您的#import "JSON.h". 之后,您可以使用这行代码将字符串解析为数组nameArray = [responseString JSONValue];

  1. 从这里获取 SBJSON 。
  2. 将 SBJSON 添加到您的项目并像这样导入 JSON.h#import "JSON.h"
  3. 像这样解析为数组nameArray = [responseString JSONValue];

快乐编码!

编辑:在将 JSON 解析为数组后,您可以尝试执行以下操作来检查是否有字符串数组:

for (NSString* myString in nameArray){
NSLog(@"%@",myString);
}

如果上述方法可行,那么您可以从数组中获取字符串并在cellForRowAtIndexPath委托中填充表格视图,如下所示:

cell.textLabel.text = [nameArray objectAtIndex:indexPath.row];
于 2012-10-25T15:24:44.773 回答
0

在这一行:

return nameArray.count;

您将始终得到 0,因为您不等待 serwer 的响应。

于 2012-10-25T14:50:25.300 回答
0

NSData在..之后使用这个

NSArray *array =   [NSJSONSerialization JSONObjectWithData:dataURL options:NSJSONReadingAllowFragments error:nil];

return array;
于 2012-10-25T15:03:48.787 回答