用JSON数据填充UITableView将无法正常工作

时间:2012-03-21 20:32:20

标签: ios json ios5 xcode4.3 ios5.1

我遇到了这个问题。我正在尝试使用NSJSONSerialization制作的JSON字典中的数据构建UITableView。我不知道从哪里开始。我已经尝试了3天但是筒仓没有取得任何成果。这是我提出的代码:

#define kBgQueue dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)
#define kJsonURL [NSURL URLWithString: @"http://rs-hosting.nl/panel/serverstatus_json.php"]

#import "ViewController.h"



@implementation ViewController

- (void)viewDidLoad
{    
    [super viewDidLoad];

    dispatch_async(kBgQueue, ^{
        NSData* data = [NSData dataWithContentsOfURL:kJsonURL];
        [self performSelectorOnMainThread:@selector(fetchedData:) withObject:data waitUntilDone:YES];
    });
}

- (void)fetchedData:(NSData *)responseData {
    NSError* error;
    NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];

    NSDictionary *clients = [json objectForKey:@"announcements"];
    NSArray *announcements = [clients objectForKey:@"announcement"];
    NSDictionary* announcement = [announcements objectAtIndex:1];

}
- (void)viewDidUnload {

    [super viewDidUnload];
}
@end

我能够在标签中的单个视图上显示标签中的内容,但我不知道如何将json中的所有数据转换为表格。有人可以帮我解决一下吗?

SDK:5.1 OSX:10.7.3 XCODE:4.3.1

提前Tnx

2 个答案:

答案 0 :(得分:1)

您需要将数据存储在某处(保持NSDictionary与整个json文件一起开始)然后添加UITableView,将其设置为将其数据源指向您的类,然后实现{{3}如上所述。

UITableView将在填写表格时从这些方法请求数据。唯一需要的两个方法是tableView:numberOfRowsInSection:tableView:cellForRowAtIndexPath:,所以从这两个方法开始,在进行任何其他自定义之前,先在表上显示数据。

答案 1 :(得分:1)

在NSDictionary中获取数据后,将其保存在NSArray中,填充您想要显示的NSString对象,然后调用函数[Tableview reloadData];在你的ViewDidLoad功能和你很好的去。