2012-03-21 2 views
0

У меня возникла эта проблема. Я пытаюсь создать UITableView с данными из JSON Dictionary, сделанных с помощью NSJSONSerialization. Я не знаю, с чего начать. я пытался в течение 3 дней, но силос ничего не добился. Это код, который я придумал:заполнение UITableView с данными JSON не будет работать

#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 заранее

ответ

1

Вы должны хранить свои данные где-то (сохраняя, что NSDictionary со всем файлом JSon прекрасно подходит для start), а затем добавьте UITableView, настройте его, чтобы указать свой источник данных в свой класс, а затем выполните UITableViewDataSource methods, как указано.

UITableView затем запрашивает данные из этих методов по мере их заполнения в таблице. Только два требуемых метода: tableView:numberOfRowsInSection: и tableView:cellForRowAtIndexPath:, поэтому начните с этих двух и получите отображение данных на столе, прежде чем выполнять любую другую настройку.

+0

, сохраняя его где-то в другом месте, вы имеете в виду определение переменной словаря instaande? – Roeliee

+0

@ user1226041 Конечно, это хороший первый вариант. – Nick

1

после получения данных в NSDictionary, сохраните его в NSArray, заполненном объектами NSString, которые вы хотите показать, а затем вызовите функцию [Tableview reloadData]; в вас функция ViewDidLoad и ур хорошо идти.

 Смежные вопросы

  • Нет связанных вопросов^_^