【发布时间】:2013-07-04 06:34:57
【问题描述】:
我已经阅读了几个小时,但我无法弄清楚为什么我的表格不会用更新的数据重新加载自己,这是我以块形式提出的请求:
ASIHTTPRequest *_request= [ASIHTTPRequest requestWithURL:url];
__weak ASIHTTPRequest *request = _request;
request.requestMethod = @"POST";
[request addRequestHeader:@"Content-Type" value:@"application/json"];
[request setDelegate:self];
[request setCompletionBlock:^{
NSString *responseString = [request responseString];
NSData *responseData = [request responseData];
NSLog(@"Response: %@", responseString);
NSError* error;
json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
NSLog(@"request finished");
[CommMTable reloadData];
}];
[request setFailedBlock:^{
NSError *error = [request error];
NSLog(@"Error: %@", error.localizedDescription);
}];
[request startAsynchronous];
它成功获取了 json 对象,因为它在我的控制台中打印,但表格没有更新!
这是我的表编译指示部分
(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 1;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [self.json count];
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *cellIdentifier=@"Cell";
UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
NSDictionary *tempDictionary= [self.json objectAtIndex:indexPath.row];
if(cell==nil) {
cell = [[UITableViewCell alloc] initWithStyle: UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}
cell.accessoryType=UITableViewCellAccessoryDetailDisclosureButton;
cell.textLabel.text = [tempDictionary objectForKey:@"title"];
return cell;
}
感谢任何帮助,这真的很令人沮丧:(
【问题讨论】:
-
您应该使用
NSNotificationCentre并重新加载您的表格。在此过程中,通知将通知您的自定义方法,现在它有数据并使用重新加载表,然后您的表视图中将有数据 -
我一定会尝试一下,我已经看到了一些“应该”做我想做的事的例子。
标签: ios uitableview asihttprequest