2

您好我正在尝试从 json 解析数据并获取要在单元格中显示的值。

这是我的 ViewController.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
{
    IBOutlet UITableView *mainTableView;
    NSMutableData *data;
}
@property (nonatomic, strong) NSArray *category;
@property (nonatomic, strong) NSArray *coursesArray;
@property (nonatomic, strong) NSDictionary *parsedData;

@end

这就是我在 ViewController.m 中所拥有的

- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
    parsedData = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
    coursesArray = [parsedData valueForKey:@"courses"];
    NSLog(@"coursesArray: %@", coursesArray);
    category = [coursesArray valueForKey:@"category"];
    NSLog(@"%@", category);
}
-(int)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}

-(int)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 1;
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MainCell"];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                      reuseIdentifier:@"MainCell"];
    }

    cell.textLabel.text = [NSString stringWithFormat:@"%@", [category objectAtIndex:indexPath.row]];
    NSLog(@"%@", category);
    return cell;
}

在 connectionDidFinishLoading 我在日志中看到了正确的值,但是当我尝试在创建单元格之前检查它们时,我得到空值。我在这里做错了什么?

4

2 回答 2

1

称呼

 [mainTableView reloadData];

在你的-connectionDidFinishLoading:方法里面。

于 2013-03-12T08:35:29.150 回答
0

确保您的类别数组未释放/自动释放。

于 2013-03-12T08:32:59.030 回答