Tôi đã thiết lập UITableView bằng NSFetchedResultsController hiển thị một số mẫu UITableViewCells. Tôi đã nối một segue đẩy từ UITableViewCell của tôi để DetailViewController của tôi.prepareForSegue không được gọi khi hàng UITableView được chọn?
Trong TableViewController của tôi, tôi đã thực hiện cả hai:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"%s", __PRETTY_FUNCTION__);
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSLog(@"%s", __PRETTY_FUNCTION__);
}
Khi tôi chạy các ứng dụng và bấm vào một hàng trong tableView ứng dụng của tôi chỉ gọi:
[TableViewController tableView:didSelectRowAtIndexPath:]
[TableViewController tableView:didSelectRowAtIndexPath:]
[TableViewController tableView:didSelectRowAtIndexPath:]
Nếu tôi xóa segue và rewire nó tạo thành một UIBarButtonItem để DetailViewController sau đó segue được gọi là chính xác, bất cứ ai có thể nghĩ rằng những gì tôi đang thiếu?
EDIT:
Added:
- (IBAction)tester:(id)sender {
[self performSegueWithIdentifier:@"SEGTEST" sender:nil];
}
và kết nối nó unto một UIButtonBarItem mà gọi là "thử nghiệm" và nó hoạt động, tôi chỉ không thể làm cho nó bắn vẫn khi tôi liên kết từ UITableViewCell cho bộ điều khiển.
Giống như câu trả lời của tôi bên dưới. Tại sao không chỉ liên kết nó từ ViewController với ViewController và gọi nó trong phương thức didSelectCell? – Darren
Tôi có thể đoán, tôi tò mò hơn là tại sao nó không bắn. Sự khác biệt duy nhất tôi có thể thấy giữa phiên bản này và phiên bản làm việc mà tôi có là phiên bản này sử dụng Dữ liệu cốt lõi và một UIFetchedResultsController, mặc dù tôi không thể thấy nó quan trọng như thế nào. – fuzzygoat