我目前正在尝试解析来自 Web 服务的数据并在我的 UITableView 中对其进行格式化。
项目详情:部署目标:ios 4.3
jsonTapped 函数:
-(void) jsonTapped
{
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:@"http://localhost"]];
NSMutableURLRequest *request = [httpClient requestWithMethod:@"POST"
path:@""
parameters:@{@"provider":@"12",
@"var":@"titles"}];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
[httpClient registerHTTPOperationClass:[AFHTTPRequestOperation class]];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject)
{
// Print the response body in text
NSLog(@"Response: %@", [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding]);
NSString *str = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
orderItems = [str objectFromJSONString];
list = [orderItems objectAtIndex:0];
}
failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
NSLog(@"Error: %@", error);
}];
[operation start];
}
数据以字典数组的形式出现。我已经检查了类检查功能。List 是在 .h 文件中声明的字典,orderItems 是在 .h 文件中声明的 NSArray。
当我去更新我的 UITableView 时,事情变得非常糟糕。如果我试图访问列表中的一段数据(在我的 jsonTapped 函数之外的任何地方),整个事情都会崩溃。
我怎样才能解决这个问题?关于为什么我放入 orderItems 数组的信息没有被保留的任何想法?
当它崩溃时,它只会显示 (lldb),然后指示我使用绿色错误进行编码,显示“线程 1:EXC_BAD_ACCESS ...”
谢谢!