我有JSON數據是這樣的:UITableView的部分
[{"id":"3","name":"jason"},{"id":"4","name":"karen"}]
我想建立與每對[ID,名稱]的截面的表格視圖。該部分標題應該是id值,每個部分的唯一單元格應該是名稱的值。
如何將JSON數據解析爲數組並使用[數組數]來確定需要顯示多少節?
非常感謝..
原諒我的英文不好!
我有JSON數據是這樣的:UITableView的部分
[{"id":"3","name":"jason"},{"id":"4","name":"karen"}]
我想建立與每對[ID,名稱]的截面的表格視圖。該部分標題應該是id值,每個部分的唯一單元格應該是名稱的值。
如何將JSON數據解析爲數組並使用[數組數]來確定需要顯示多少節?
非常感謝..
原諒我的英文不好!
落實UITableViewDatasource
以下方法:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return [JSONArray count];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
return 1;
}
要設置一節的標題值:
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
return [[JSONArray objectAtIndex:section] objectForKey:@"id"];
}
要設置單元格的值實現UITableViewDelegate
:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
cell.textLabel.text = [[JSONArray objectAtIndex:indexPath.section] objectForKey:@"name"]; // set the cell's text here
}
return cell;
}
你是好男人,謝謝!你的代碼非常有用。 – Jason
看看這個項目。它是一種框架,使用JSON工作: https://github.com/stig/json-framework/
針對此框架教程,可以發現: http://iosdevelopertips.com/networking/iphone-json-flickr-tutorial-part-1.html
框架增加了一個類別的NSString。與該類別可以解析JSON數據到一個NSArray的(對象爲您的示例清單)或NSDictionary中(某些物體或結構):
#import "JSON.h"
...
NSString jsonString = //get your JSON from somewhere
NSArray * array = [jsonString JSONValue];
我希望我可以給你的印象,做什麼爲了實現你的目標。更多信息請參閱JSON項目的教程或所提到的教程。
如何從JSON陣列建一個表是在回答:UITableView sections from JSON data
非常感謝! – Jason
感謝Mr.Wizard我的編輯器! – Jason