2010-08-30 35 views
9

Khi nào/tại sao/bạn sẽ sử dụng các phương pháp này như thế nào?Khi nào/tại sao/làm thế nào để sử dụng các phương thức thể hiện giao thức UINavigationControllerDelegate?

- navigationController:willShowViewController:animated: 
– navigationController:didShowViewController:animated: 

Bạn không thể sử dụng các phương pháp thể hiện UIViewController này thay thế?

– viewWillAppear: 
– viewDidAppear: 
– viewWillDisappear: 
– viewDidDisappear: 

Trả lời

16

Bạn muốn sử dụng những người đầu tiên nếu bạn muốn được thông báo về những sự kiện bên ngoài quan điểm điều khiển có thể nhìn thấy. Các đại biểu cho phép bạn nhận được thông báo tại một điểm duy nhất. Sử dụng các phương thức của UIViewController gắn kết bạn trong các bộ điều khiển này, nơi bạn phải viết/gọi cùng một mã nhiều lần để đạt được cùng một phương thức.

Nói chung, bạn muốn chia nhiệm vụ thành hai nhóm:

  • Những điều xảy ra trên tất cả các xem điều khiển: sử dụng các đại biểu
  • Những điều xảy ra trong vòng một đơn điều khiển xem: sử dụng các ví dụ phương thức
1

UINavigationControllerGiao thức liên kết xác định phương thức ủy quyền điều khiển ủy quyền có thể thực hiện để thay đổi hành vi khi bộ điều khiển xem được đẩy và xuất hiện từ ngăn xếp của bộ điều khiển điều hướng.

Phương pháp này rất quan trọng khi bạn cần thực hiện một số tác vụ sẽ không nằm trong phạm vi của trình điều khiển chế độ xem của bạn. đại biểu được cho là đối tượng tiền thân của bộ điều khiển xem của bạn trên hệ thống phân cấp và sẽ quan tâm đến việc thực hiện một số hành động mà không biết mỗi bộ điều khiển xem được đẩy hoặc xuất hiện, những hành động này không nhất thiết liên quan đến bộ điều khiển chế độ xem đó, nhưng chúng có thể là các phương thức được gọi trên các đối tượng khác.

Các vấn đề liên quan