Tôi có UICollectionView bao gồm nhiều ô. Tôi muốn có thể chạm vào một trong các ô này và phân tách Storyboard của tôi thành một bộ điều khiển chế độ xem khác sau khi xác định rằng đây là hành động thích hợp.PrepareForSegue không bao giờ được gọi là
Tôi đã tạo bộ điều khiển chế độ xem phụ, cùng với segue, trong Bảng phân cảnh của tôi. Trong lớp con UICollectionView của tôi, tôi đã thực hiện những điều sau đây ...
-(BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender {
return NO; // So that I can determine whether or not to perform the segue based on app logic
}
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
[collectionView deselectItemAtIndexPath:indexPath animated:YES];
// Selection logic here
[self performSegueWithIdentifier:@"showDetailView" sender:self];
}
Trong lớp này, tôi cũng đã thực hiện - (void) prepareForSegue: (UIStoryboardSegue *) segue người gửi: (id) người gửi để cho phép tôi để thiết lập xem chi tiết của tôi trước khi segue được thực hiện. Có vẻ như sau:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSLog(@"HELLO, WORLD!!!");
}
Mọi thứ dường như theo thứ tự, nhưng tôi thấy rằng prepareForSegue
KHÔNG BAO GIỜ được gọi. Tôi đã thử đăng nhập, thiết lập các điểm ngắt. Không có dấu hiệu cho thấy phương pháp này được gọi là EVER. Tôi đang thiếu gì ở đây? Tại sao phương pháp này không được gọi? Mặc dù bây giờ tôi có tuyên bố "Hello, World" đơn giản, trước đây tôi đã có mã mà chế độ xem chi tiết của tôi phụ thuộc vào và nó sẽ dẫn đến một ngoại lệ vì chế độ xem chi tiết không được thiết lập đúng cách.
Có điều gì khác mà tôi bị thiếu ở đây không? Một cái gì đó tôi nên làm mà tôi hiện không?
Cảm ơn câu trả lời đúng. – Tommy