2012-10-04 43 views
0

我在下面給出了一些JSON數據,我想在表格視圖中顯示它。我已經成功地使用了靜態數據,但現在我想使用動態數據來完成它。我怎樣才能做到這一點?以動態方式在UITableView中打印JSON數據

+0

瞭解的Json先那麼只有你可以獲取數據。 –

+0

此外,將64kB的原始JSON數據轉儲到您的問題中將耗盡Commodore-64用戶查看此帖的內存。 – 2012-10-04 13:44:23

+0

@ H2CO3 SOO .... THIZ是IT ..? –

回答

0
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
    { 

return [[[[jsonObject valueForKey:@"companies"] objectAtIndex:0] valueForKey:@"Departments"]count]; 
} 

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
    { 
return [[[[[[jsonObject valueForKey:@"companies"] objectAtIndex:0] valueForKey:@"Departments"] objectAtIndex:0] valueForKey:@"Employees"] count]; 
} 



- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 

label1.text = [[[[[[[jsonObject valueForKey:@"companies"] objectAtIndex:0] valueForKey:@"Departments"]objectAtIndex:section]valueForKey:@"Employees"]objectAtIndex:row]valueForKey:@"name"]; 

    } 
    - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section 
    { 
    return [[[[[jsonObject valueForKey:@"companies"] objectAtIndex:0] valueForKey:@"Departments"]objectAtIndex:section]valueForKey:@"name"]; 
    } 
0

它很簡單,使用JSON解析器解析JSON數據並將數據存儲在NSMutableArray中,並將該數組傳遞給您的表視圖。 希望這可以幫助你..

0

你必須使用JSON解析器,它將構建一個通常可以操作的數據結構(通常是嵌套的NSArray,NSDictonary,NSNumber和NSString實例)。注意:如果你不熟悉從非結構化創建結構化數據這樣的基本概念,那麼你應該學會熟悉這種類似的東西,而不是已經制作完成,而不是已經制作出最差的測試iPhone應用程序() TM值)。

+0

老兄...我已經成功完成任務...並顯示json數據...也解析了它..我使用靜態數據做了這個..但是我想用動態數據做... –

+0

我用NSJSONSerialization ..... –

+0

@RoxFury什麼?我不明白這一點。如果你已經完成了這一切,你還想要什麼?也許JSON在解析它時即時改變,或者是什麼? – 2012-10-04 13:55:51

0

一旦你有你的JSON數據下載和解析,你有效地有靜態數據。在顯示錶視圖之前,您可以下載並解析您的JSON數據,然後使用數組或字典來指定如何佈置表視圖。您需要以自己的方式將JSON數據表示爲值對象,然後您可以對它們進行計數和讀取,從而爲表視圖提供所需的數據。如果您在顯示錶格視圖後要獲取數據,那麼一旦獲得數據,只需致電-[<tableViewName> reloadData]

+0

那不是我要求的....感謝回覆 –

0

您可以創建具有背景底色和文本對齊的標題。

-(UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{ 

    UIView *headerView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 30)] autorelease]; 
if (section == 0){ 
    [headerView setBackgroundColor:[UIColor redColor]]; 
    UILabel * headerLabel=[[UILabel alloc]initWithFrame:CGRectMake(0, -5, headerView.frame.size.width, headerView.frame.size.height)]; 

    headerLabel.textAlignment = UITextAlignmentCenter; 
    headerLabel.text [email protected]"Current Schedule"; 
    [headerLabel setFont:[UIFont fontWithName:@"Arial-ItalicMT" size:18]]; 
    headerLabel.backgroundColor = [UIColor clearColor]; 

    [headerView addSubview:headerLabel]; 
    [headerLabel release]; 

    return headerView; 
} 

}

+0

我想動態的方式..無論如何,我發現d回答自己..謝謝你的迴應... –