Tôi đang cố gắng sử dụng bảng phân cảnh/phân đoạn để xử lý chuyển đổi giữa UITableView với cả quá trình chuyển đổi chuẩn cũng như nút tiết lộ chi tiết. Sau khi đọc một vài bài viết khác nhau trên đây tôi đã thiết lập dự án của tôi theo cách này:IndexPath cho segue từ accessoryButton
- Tie segue chính giữa UITableViewCell và ViewController
- Tie segue thứ cấp từ ViewController mẹ để ViewController mới
Thực hiện
accessoryButtonTappedForRowWithIndexPath
như sau :-(void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath { [self performSegueWithIdentifier:@"DetailSegue" sender:self]; }
này hoạt động tuyệt vời và prepareForSegue: sender:
tôi được c như mong đợi. Vấn đề là, tôi cần biết indexPath cho phần tử được chọn. Các segue từ UITableViewCell lấy indexPath như thế này:
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
Thật không may khi tôi cố gắng để làm điều đó khi được gọi là accessoryButton, trả về null
.
Các câu hỏi ban đầu tôi dựa một số mã này tắt của là ở đây: Detail Disclosure Button and Segues
Có một phương pháp tableView trả về indexPath cho accessoryButtons? Tôi có cần truy cập vào indexPath theo cách khác không?
Cảm ơn Adam, đây phải là câu trả lời được chấp nhận! – Pat
Khi tôi đã làm điều này, người gửi là TableViewController tôi đã nhập. Vì vậy, trong performSegue, tôi đã chuyển ô như người gửi –
làm cách nào để thực hiện điều này trong Swift 3? – nyxee