我想保存開關狀態。我創建了自定義單元類巫婆打印標籤上的一個開關,但有問題,如果我搜索一些文本,然後表視圖重新加載和我選定的開關狀態將改變,是否有可能保持該狀態?在TableView中保存並加載UISwitch狀態
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
....
selectionStyle = UITableViewCellSelectionStyleNone;
CfResultFatch *temp = [result objectAtIndex:indexPath.row];
NSLog(@"%@",temp.complanName);
//[cell.switchOnOff setOn:NO];
[cell.switchOnOff setTag:indexPath.row];
[cell.switchOnOff addTarget:self action:@selector(selectUser:)forControlEvents:UIControlEventValueChanged];
[cell.switchOnOff setTag:indexPath.row];
cell.lblUserName.text = temp.complanName;
cell.textFld.text = temp.cipd;
return cell;
}
// selectUser這是呼叫時開關狀態改變
-(IBAction)selectUser:(UISwitch*)sender{
if(sender.on)
{
[selectedpet addObject:[result objectAtIndex:sender.tag]];
}else{
NSLog(@"%@",sender);
for(int j=0;j<[selectedpet count]; j++)
{
CfResultFatch *temp = [result objectAtIndex:sender.tag];
CfResultFatch *temp1= [selectedpet objectAtIndex:j];
if([(temp.complanName)isEqualToString:(temp1.complanName)]) {
[selectedpet removeObjectAtIndex:j];
}
}
}
}
//並在搜索欄搜索這梅索德是調用搜索一些文本和數據從數據庫問題的變化時,這裏是我選擇在0和1的指數開關,然後搜索一些文本,在表視圖新的數據來與0和1的指數,如何保持它,以及如何獲得交換機我以前的狀態
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{
NSString *weburl = [NSString stringWithFormat:@"%@%@", @"http://192.168.1.196/ravi/searchUser.php?mname=",searchText];
NSURL *url = [NSURL URLWithString:weburl];
NSData *data =[NSData dataWithContentsOfURL:url];
[self getData:data];
[temptab reloadData];
}
而且雅。對不起我的英文不好
剛一說明:沒有理由設置'cell.switchOnOff'的標籤兩次。此外,初始化單元格時可以設置'cell.switchOnOff'的目標。每次單元被重用時,沒有理由這樣做。此外,您可能會從UITableViewCell的子類中受益,然後在Interface Builder中設置單元格(例如,添加一個開關),將單元格的類設置爲您的子類,然後您不必與標籤糾纏並設置你的'UISwitch'編程。從長遠來看,我相信這會帶來更好的表現。 – simonbs 2012-03-20 08:52:05