私はtableViewを持っています。これには、最初は4つのセクションがあり、それぞれに1つの行があります。最初の行に対するユーザーの操作に応じて、セクションの2番目の行を挿入または削除する必要があります。その後、タップした次のセルの設定を行う必要があります。インタラクションを処理するための私のコードは次のとおりです。
-(void) tableViewSwitchToggled: (UISwitch*) sender{
targetSection = sender.tag; //each switch is added to cell's contentview and it's tag is set to indexPath.section
UITableView* tableView = ...
if (someBool){
[tableView insertRowsAtIndexPaths: [NSArray arrayWithObject: [NSIndexPath indexPathForRow: 1 inSection: targetSection]] withRowAnimation: UITableViewRowAnimationTop];
UITableViewCell* detailsCell = [tableView cellForRowAtIndexPath: [NSIndexPath indexPathForRow: 0 inSection: targetSection + 1]]; //I try to get the first row of the next section and it is always nil!!!
//do something with detailsCell content
}
else{
[tableView deleteRowsAtIndexPaths: [NSArray arrayWithObject: [NSIndexPath indexPathForRow: 1 inSection: targetSection]] withRowAnimation: UITableViewRowAnimationRight];
UITableViewCell* detailsCell = [tableView cellForRowAtIndexPath: [NSIndexPath indexPathForRow: 0 inSection: targetSection + 1]]; //and it works perfectly, giving me the cell address
//do something with detailsCell content
}
}
だからここに私の質問があります-行を挿入した後になぜnilセルを取得するのですか?tableViewには、すべてのセルがすでに割り当てられているはずではありませんか?ご協力いただきありがとうございます!