スイッチの状態を保存します。私はカスタムセルクラスの魔女の印刷を作成しましたラベルを切り替えますが、いくつかのテキストを検索してテーブルビューをリロードし、選択したスイッチの状態が変更される場合、その状態を維持できるかどうかという問題があります。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;
}
//コールスイッチ状態変化
-(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];
}
}
}
}
//と検索バーで検索し、いくつかのテキストとデータを検索するとき、このMethodeのコールであるselectUserは、データベースの問題からの変更はここにあるされています私は上の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];
}
を取得し、 y A。私の貧しい英語のために申し訳ありません
ジャストノート:
UITableViewCell
を示すとき、次に何もありません'cell.switchOnOff'のタグを2回設定する理由。また、セルを初期化するときに 'cell.switchOnOff'のターゲットを設定することもできます。セルを再利用するたびにこれを行う理由はありません。さらに、 'UITableViewCell'をサブクラス化してInterface Builderでセルを設定したり(例えばスイッチを追加するなど)、セルのクラスをサブクラスに設定すると、タグに苦労したり設定したりする必要はありませんあなたの 'UISwitch'プログラム的に。長期的には、これはより良いパフォーマンスを与えると信じています。 – simonbs