如何通过单击按钮更改UITableView的内容?

时间:2011-12-23 03:43:16

标签: iphone arrays uitableview event-handling uibutton

我有一个包含内容数组的UItableview。有两个数组,我想通过点击按钮来切换数组。 我的代码是

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

tab.backgroundColor = [UIColor clearColor];
tab.separatorColor = [UIColor clearColor];
cell.chapterAndVerse.text = [NSString stringWithFormat:@"%d",indexPath.row+1];
cell.chapterAndVerse.font = [UIFont fontWithName:@"Georgia" size:17.0];
cell.chapterAndVerse.frame=CGRectMake(0, 10, 30.0, 20.0);
cell.textLabel.text =  [NSString stringWithFormat:@"  %@",[delegate.allSelectedVerseMalayalam objectAtIndex:indexPath.row]];

cell.textLabel.font = [UIFont fontWithName:@"testfont" size:18];
cell.backgroundColor = [UIColor clearColor];
}

我的数组是delegate.allSelectedVerseMalayalam,我希望在按钮单击时使用delegate.allSelectedVerseEnglish更改此数组。当用户单击英语按钮时,它会将tableviewcontent(我的表名称为tab)更改为delegate.allSelectedVerseEnglish这怎么可能.Plese帮我弄清楚这个问题。 提前致谢。 编辑:

 - (void)viewDidLoad {
NSLog(@"%@", delegate.allSelectedVerseMalayalam);
    tempArray = [[NSMutableArray alloc] init];
    [tempArray addObjectsFromArray:delegate.allSelectedVerseMalayalam];
    NSLog(@"%@", tempArray);

    [self.tab reloadData];
}
-(IBAction)_clickbtndefaultlnguageset:(id)sender
{
    [tempArray removeAllObjects];
    [tempArray addObjectsFromArray:delegate.allSelectedVerseHindi];
    [self.tab reloadData];

}
在tableview中

cell.chapterAndVerse.text = [NSString stringWithFormat:@"%d",indexPath.row+1];
cell.chapterAndVerse.font = [UIFont fontWithName:@"Georgia" size:17.0];
cell.chapterAndVerse.frame=CGRectMake(0, 10, 30.0, 20.0);
cell.textLabel.text =  [NSString stringWithFormat:@"  %@",[tempArray objectAtIndex:indexPath.row]];

// cell.textLabel.textColor = [UIColor darkGrayColor];
cell.textLabel.font = [UIFont fontWithName:@"testfont" size:18];
cell.backgroundColor = [UIColor clearColor];

1 个答案:

答案 0 :(得分:1)

做一件事需要一个额外的数组并分配它 在源文件.h文件中定义

NSMutableArray *tempArray;

-(void)viewDidLoad{  
//NSLog(@"%@", your Array);  
tempArray = [[NSMutableArray alloc] init];  
[tempArray addObjectsFromArray:yourfirstarray];  
NSLog(@"%@", tempArray);  
[self.tableview reloadData];  
}

之后按下按钮

-(void)pressedBtn{  
//NSLog(@"%@", your Array);
[tempArray removeAllObjects];  
[tempArray addObjectsFromArray:yoursecondArray];  
[self.tableView reloadData];  
}

将此临时数组用于表数组