2012-03-21 4 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는 테이블에 데이터가 채워지면서 이러한 메서드에서 데이터를 요청합니다. 필요한 두 가지 방법은 tableView:numberOfRowsInSection:tableView:cellForRowAtIndexPath:이므로 두 가지 방법으로 시작하여 다른 맞춤 설정을 수행하기 전에 표에 데이터를 표시하십시오.

+0

어딘가에 다른 단어를 저장하면 사전에 변수를 정의하는 것과 같은 뜻입니까? – Roeliee

+0

@ user1226041 물론 첫 번째 옵션이 좋습니다. – Nick

1

NSDictionary에서 데이터를 가져온 후 NSString을 NSString 객체로 저장하고 표시하고 싶은 NSString 객체로 저장 한 다음 [Tableview reloadData]; 당신 ViewDidLoad 함수와 좋은가 가서 좋다.

관련 문제