0

我是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;

}
4

1 回答 1

0

如果您正在加载不同的数据源(数组),您还需要根据 BTIindex 选择来处理行数 Here

-(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];
    }
于 2013-11-08T05:17:50.620 回答