我是iOS开发的初学者。我正在创建一个两页的页面滚动器,并在表视图中显示来自两个不同数组的数据。但我无法在页面上显示该数据。我在两个页面上都得到相同的数组。这里是我在表格视图中设置数据的代码,相对于页面滚动条中的页面索引。 BTIobj是我的页面索引来自的类的对象,
Pagescroller.m
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [appDelegate.tableDetailDataAD count];
}
//CELL FOR ROW AT INDEX PATH
-(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];
}
if(BTIobj.indx==0)
{
NSString *title=[[appDelegate.tableDetailDataAD objectAtIndex:indexPath.row] valueForKey:@"date1"];
cell.textLabel.text = title;
NSString *str=[[appDelegate.tableDetailDataAD objectAtIndex:indexPath.row] valueForKey:@"name1"];
cell.detailTextLabel.text=str;
NSLog(@"AD data:%@",[appDelegate.tableDetailDataAD description]);
}
if(BTIobj.indx == 1)
{
[tableView reloadData];
NSString *title=[[appDelegate.tableDetailDataIH objectAtIndex:indexPath.row] valueForKey:@"date1"];
cell.textLabel.text = title;
NSString *str=[[appDelegate.tableDetailDataIH objectAtIndex:indexPath.row] valueForKey:@"name1"];
NSLog(@"AD2 data:%@",[appDelegate.tableDetailDataIH description]);
cell.detailTextLabel.text=str;
[self.indianHolidaysTableView reloadData];
}
//Formatting texts
cell.textLabel.textColor= [UIColor colorWithRed:(0/255.0) green:(153/255.0) blue:(204/255.0) alpha:1] ;
cell.textLabel.font=[UIFont systemFontOfSize:16.0];
cell.detailTextLabel.textColor=[UIColor blackColor];
cell.detailTextLabel.font = [UIFont systemFontOfSize:12];
return cell;
}
答案 0 :(得分:0)
如果要加载不同的数据源(数组),还需要根据BTIindex选择处理行数 这里
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [appDelegate.tableDetailDataAD count];
}
还有一件事,在cellforrowatindexpath中重新加载表视图会导致递归调用。
下面
if(BTIobj.indx == 1)
{
[tableView reloadData];
NSString *title=[[appDelegate.tableDetailDataIH objectAtIndex:indexPath.row] valueForKey:@"date1"];
cell.textLabel.text = title;
NSString *str=[[appDelegate.tableDetailDataIH objectAtIndex:indexPath.row] valueForKey:@"name1"];
NSLog(@"AD2 data:%@",[appDelegate.tableDetailDataIH description]);
cell.detailTextLabel.text=str;
[self.indianHolidaysTableView reloadData];
}