Tôi luôn có một chút không rõ ràng về loại tác vụ sẽ được gán cho viewDidLoad
so với viewWillAppear
: trong lớp con UIViewController
.Chế độ xem UIViewControllerDidLoad so với viewWillAppear: Phân công lao động phù hợp là gì?
ví dụ: Tôi đang làm một ứng dụng mà tôi có một lớp con UIViewController
nhấn một máy chủ, lấy dữ liệu, cho nó vào một khung nhìn và sau đó hiển thị khung nhìn đó. Những ưu và nhược điểm của việc này là gì trong số viewDidLoad
so với viewWillAppear
?
Vì vậy, liên quan đến chế độ xemWillAppear có khả năng được gọi nhiều lần. Liệu phương pháp đó có cháy nếu, ví dụ, khung nhìn viewcontrollers trở nên hiển thị sau khi bị ẩn (ý tôi là bị che khuất ở đây, không phải là phương thức ẩn trên UIView). Trong scenerio nào viewWillAppear sẽ được gọi mà không được gọi trước đến viewDidLoad? – dugla
viewDidLoad ONLY được gọi khi chế độ xem được tạo - ví dụ như sau khi lệnh gọi bộ điều khiển xem initFromNibNamed khi xem được truy cập. viewWillAppear được gọi bất cứ khi nào trình điều khiển chế độ xem của bạn không ở chế độ xem nhưng được xem - do đó khi bộ điều khiển chế độ xem của bạn được đẩy, viewWillAppear được gọi. Nếu bạn đẩy một subview khác từ đó, và người dùng trả về, viewWillAppear được gọi lại. –
Cảm ơn Kendall. Yah, một vài NSLogs được đặt chiến lược giúp tôi sắp xếp. viewWillAppear/viewWillDisappear cháy trên push/pops viewcontroller. – dugla