Tôi đang bận xây dựng một ứng dụng - rằng khi ra mắt lần đầu tiên nó yêu cầu người dùng phải thực hiện hai điều:Instantiating một View Controller lập trình với Storyboard từ appdelegate
- Chọn một quốc gia
- Chấp nhận T & Cs
Từ đó đến bộ điều khiển chế độ xem nhà.
Sự cố tôi hiện đang gặp phải đang đẩy trình điều khiển chế độ xem đầu tiên lên màn hình từ đại biểu ứng dụng của tôi. Tôi đang sử dụng storyboards/Xcode 5/iOS7
Dưới đây là đoạn code tôi đã đưa ra:
UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle: nil];
BBCounterySettingsViewController *controller = (BBCounterySettingsViewController*)[mainStoryboard instantiateViewControllerWithIdentifier: @"CountrySettings"];
[navigationController pushViewController:controller animated:NO];
Vấn đề là treo ứng dụng khi nó chạm vào dòng cuối cùng của mã với các lỗi sau:
* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIViewController pushViewController:animated:]: unrecognized selector sent to instance 0x8e9a400'
Bất kỳ ai có ý tưởng gì tôi đang làm sai?
Tôi nghĩ rằng tôi đang sử dụng phương pháp này một cách sai lầm. Bộ điều khiển chế độ xem này không cần điều hướng ở bất kỳ nơi nào khác. Chỉ cần được miễn nhiệm. Phần còn lại của ứng dụng là ứng dụng dựa trên thanh tab. Trong ứng dụng ủy quyền self.navigationController không tồn tại? – Tander
Tôi sẽ cập nhật câu trả lời của mình bằng một mẹo mới sau đó :) – Rick