2012-03-21 11 views
0

この問題が発生しています。私はNSJSONSerializationで作られたJSON辞書からのデータを使ってUITableViewを構築しようとしています。どこから始めたらいいのか分かりません。私は3日間試してきましたが、サイロは何も達成していません。これは私が思い付いたしたコードです:JSONデータでUITableViewを埋めても動作しません。

#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内のすべてのデータをHETする見当もつかないテーブル。誰かが私を癒してくれますか?

SDK:5.1 OSX:10.7.3 XCODE:4.3.1

TNX事前にあなたがどこかに自分のデータを格納する必要が

答えて

1

は(NSDictionaryのは、全体のJSONファイルでの罰金であることを保ちますUITableViewを追加し、そのデータソースをクラスにポイントしてから、UITableViewDataSource methodsを実装してください。

UITableViewは、これらのメソッドからデータを要求します。 2つの必要なメソッドはtableView:numberOfRowsInSection:tableView:cellForRowAtIndexPath:なので、その2つから始めて、他のカスタマイズを行う前にテーブルにデータを表示させてください。

+0

辞書instaan​​de変数の定義のような意味で別の場所に保存することで? – Roeliee

+0

@ user1226041確かに、これは最初の良い選択です。 – Nick

1

NSDictionaryでデータを取得した後、表示するNSStringオブジェクトでNSArrayを保存してから、関数[Tableview reloadData]を呼び出します。あなたのViewDidLoad関数では、行くことができます。

関連する問題