Tôi có một ứng dụng iPhone tôi hiện đang xây dựng trong XCode 4.3 với Storyboard. Tôi có một bộ điều khiển xem "gốc" với hai (2) phần tiếp theo cho một bộ điều khiển xem có chứa một UIWebView. Tôi muốn để có thể xác định segue (đã thiết lập định danh duy nhất cho cả hai segues) vì vậy tôi có thể "đẩy" nội dung chính xác vào UIWebView, dựa trên đó segue được kích hoạt trong bộ điều khiển xem "gốc".Làm thế nào để xử lý hai segues đi đến cùng một bộ điều khiển xem?
Tôi nghĩ tôi phải sử dụng phương pháp "prepareForSegue", nhưng không biết nó sẽ đi đâu. Tôi có thể tìm hiểu làm thế nào để đối phó với hai segues đi đến cùng một bộ điều khiển xem? (Tôi đã google'd nó và thấy không có gì thích hợp với tình hình của tôi).
Đây là mã mà tôi đang sử dụng:
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"helpSegue"]) {
NSLog(@"helpSegue");
}
else if ([segue.identifier isEqualToString:@"reportSegue"]) {
NSLog(@"reportSegue");
}
}
Cảm ơn bạn, cảm ơn bạn, cảm ơn bạn! Đó chính xác là những gì tôi cần ... – SpokaneDude
Rất tiếc ... xin lỗi, nhưng không có phương thức "seque.identifier.isEqualToString ... tôi đặt - (void) [PrepareForSegue trong ViewController.m, là bộ điều khiển duy nhất trong dự án Tôi có làm gì sai không? – SpokaneDude
'-isEqualToString:' là một phương thức (không phải là thuộc tính) của NSString. Thuộc tính 'identifier' của UIStoryboardSegue là một NSString *. Vì vậy, bạn sử dụng nó như tôi đã thấy trong đoạn mã trên, tức là 'BOOL isEqual = [segue.identifier isEqualToString: @" foo "];'. Đúng là bạn có thể sử dụng cú pháp dấu chấm để gọi bất kỳ phương thức nào không tham số (mặc dù bạn thực sự chỉ nên sử dụng nó cho các thuộc tính), nhưng '-isEqualToString:' * does * lấy một tham số, vì vậy cú pháp chấm là hoàn toàn ra ngoài. – Caleb