如何在页面滚动条的不同页面上显示不同的数组

时间:2013-11-08 05:01:09

标签: ios uitableview

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

}

1 个答案:

答案 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];
    }