Tôi đang tìm hiểu về UINavigationController
và UIViewController
s. Đây là ứng dụng đơn giản mà tôi xây dựng. Lưu ý rằng tôi sử dụng ARC.UINavigationController và UIViewController hoạt động như thế nào?
Ứng dụng của tôi có bộ điều khiển điều hướng và hai bộ điều khiển chế độ xem (hãy gọi cho chúng FirstViewController
và SecondViewController
). Khi ứng dụng được khởi động điều khiển điều hướng, hãy đẩy FirstViewController
trên ngăn xếp.
Trong FirstViewController
Tôi có một nút đẩy SecondViewController khi được chạm vào. Đây là một số mã.
FirstViewController.m
-(IBAction)pushSecondViewController
{
SecondViewController *secondViewController = [SecondViewController alloc]init];
[self.navigationController pushViewController:secondViewController animated:YES];
}
Trong điều khiển xem thứ hai tôi có một nút mà bật bộ điều khiển xem hiện tại từ ngăn xếp.
SecondViewController.m
-(IBAction)popViewController
{
[self.navigationController popViewControllerAnimated:YES];
}
Cho đến nay, như vậy tốt. Dưới đây là các câu hỏi của tôi:
Điều hướngController có kiểm tra phiên bản hiện tại của SecondNavigationController
và nếu không tồn tại thì nó sẽ tạo mới?
Nếu không, tôi có nên sử dụng singleton để đảm bảo rằng chỉ một phiên bản được tạo và sử dụng lại thay vì tạo một phiên bản mới mỗi khi nhấn nút SeconViewController
?
Không, tôi không muốn giữ lại bộ điều khiển chế độ xem thứ hai. Tôi đã tò mò về cách điều khiển chuyển hướng hoạt động. Cảm ơn bạn đã giải thích! – ihodo
Để không bắt đầu một chủ đề mới.Nếu ứng dụng của tôi chứa giả sử bốn bộ điều khiển chế độ xem, bộ điều khiển chế độ xem đầu tiên và thứ hai chỉ được sử dụng một lần trong ứng dụng. Tôi có nên bật chúng ([self.navigationController popViewControllerAnimated: YES]) từ bộ điều khiển điều hướng để không sử dụng bộ nhớ? – ihodo
Không, chỉ sử dụng tính năng push và popping để di chuyển lên và xuống ngăn xếp điều hướng. – jrturton