私はJSONファイルを持っており、そこから値を抽出してテーブルビューに表示する必要があります。すべてうまく動作します。JSONファイルからCellに値を追加 - コード提供
{
"1": {
"name": "Jemmy",
"birthday": "1994-11-23"
},
"2": {
"name": "Sarah",
"birthday": "1994-04-12"
},
"3": {
"name": "Deb",
"birthday": "1994-11-23"
},
"4": {
"name": "Sam",
"birthday": "1994-11-23"
}
}
私は値を表示すると、レコードに指定されている1,2,3,4の順番で表示されません。ただランダムに表示されます。私は下に私のコードを含めて、私はそれが上記の順序でコンテンツを表示することができるように変更する必要があります。誰かが助けてくれますか?
- (void)requestSuccessfullyCompleted:(ASIHTTPRequest *)request{
NSString *responseString = [request responseString];
SBJsonParser *parser = [SBJsonParser new];
id content = [responseString JSONValue];
if(!content){
return;
}
NSDictionary *personDictionary = content;
NSMutableArray *personMutableArray = [[NSMutableArray alloc] init];
for (NSDictionary *childDictionary in personDictionary.allValues)
{
Deal *deal = [[Deal alloc] init];
deal.name=[childDictionary objectForKey:@"name"];
deal.dob=[childDictionary objectForKey:@"birthday"];
[personMutableArray addObject:deal];
}
self.personArray = [NSArray arrayWithArray:personMutableArray];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
Cell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
Person *person = [self.personArray objectAtIndex:indexPath.row];
cell = [[Cell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier];
cell.namelabel.text=person.name;
cell.doblabel.text=person.dob;
}
return cell;
}
私はARCを使用しています。私が 'cell.namelabel'と' cell.doblabel'をif条件の外に(あなたが示したように)追加すると、スクロールするときにセルが重なることになります。どうすればこの問題を回避できますか? – shajem
「重複していますか?セルの高さを正しく設定していますか?どのようにCellの図面を実装していますか? –