self.tableView.indexPathForSelectedRow
चयनित सेल लौटाता है, लेकिन प्रेषक सेल को नहीं देखता है, जैसे कि प्रेषक सेल चयनित (एक्सेसरी एक्शन), या कई चयन मामले में नहीं है। सबसे अच्छा तरीका है, सेंगर प्रेषक के लिए indexPath प्राप्त कर रहा है:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
__auto_type itemViewController = (id<ItemViewController>)segue.destinationViewController;
itemViewController.senderIndexPath = [self.tableView indexPathForCell:sender];
}
स्विफ्ट में:
protocol ItemViewController {
var senderIndexPath : IndexPath? { get set }
var selectedIndexPaths : [IndexPath]? { get set }
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let cell = sender as? UITableViewCell,
var itemViewController = segue.destination as? ItemViewController {
itemViewController.senderIndexPath = tableView.indexPath(for: cell)
itemViewController.selectedIndexPaths = tableView.indexPathsForSelectedRows
}
}