我使用UITableView
样式创建UITableViewStyleGrouped
,并且只有一个部分,在此部分中有三行
这是我的代码:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 3;
}
我从我的服务器获取数据
{
statuscode = 1;
personalinfo = (
{
name = "charles";
age = 30;
sex = "man";
}
);
}
我把它设置为uitableview,如关注
[self setArrayDB:[responseObject objectForKey:@"personalinfo"]];
if ([_arrayDB count] != 0) {
[_tableView reloadData];
}
并按照这样阅读
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSDictionary *item = [_arrayDB objectAtIndex:0];
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
switch ([indexPath row]) {
case 0:
{
cell.textLabel.text = @"name";
NSLog(@"name===>%@",[item objectForKey:@"name"]);
}
break;
case 1:
{
cell.textLabel.text = @"sex";
NSLog(@"sex===>%@",[item objectForKey:@"sex"]);
}
break;
case 2:
{
cell.textLabel.text = @"age";
NSLog(@"age===>%@",[item objectForKey:@"age"]);
}
break;
default:
break;
}
cell.textLabel.font = [UIFont fontWithName:fontZ size:15.0f];
cell.textLabel.textColor = [UIColor blackColor];
}
cell.selectionStyle = UITableViewCellSelectionStyleNone;
return cell;
}
但我无法得到结果,你能帮帮我吗,错在哪里?非常感谢。
答案 0 :(得分:0)
首先,您的数据结构是错误的。 如果要在tableview中显示数据,那么您的数据结构必须在包含对象的数组中。
{
statuscode = 1;
personalinfo = (
{
name = "charles";
age = 30;
sex = "man";
},
{
name = "charles";
age = 30;
sex = "man";
},
{
name = "charles";
age = 30;
sex = "man";
}
)
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [arrayDB[@"personalinfo"] count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSDictionary *item = [_arrayDB objectAtIndex:0];
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
NSDictionary *aDictData = [arrayDB[@"personalinfo"] objectAtIndex:indexPath];
cell.textLabel.text = aDictData[@"name"];
//Same way you can set other values from Dictionary in label....
cell.textLabel.font = [UIFont fontWithName:fontZ size:15.0f];
cell.textLabel.textColor = [UIColor blackColor];
}
cell.selectionStyle = UITableViewCellSelectionStyleNone;
return cell;
}
希望这会对你有帮助..