Я хочу сохранить состояние переключателя. Я создал собственный класс ячейки witch print one Включить ярлык, но есть проблема в том, что если я найду какой-нибудь текст, то Table View reload и мое выбранное состояние переключения изменится. Возможно ли поддерживать это состояние?Сохранение и загрузка состояния UISwitch в TableView
- (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];
}
}
}
}
// и поиск в SearchBar это Methode это вызов при поиске какой-либо текст и данные изменения из базы данных проблемы здесь я выберите 0 и 1 индексный переключатель, а затем искать какой-нибудь текст, новые данные в виде таблицы приходят с 0 и 1 индекса ON, как сохранить его и как получить мое предыдущее состояние коммутатора
- (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