Tôi đang cố gắng hiểu hành vi điều hướng giữa ViewControllers với (và không) bằng cách sử dụng NavigationController và tôi hiểu nhầm một số điều trong khi đọc bài viết và tài liệu nên tôi quyết định hỏi họ.ios - Điều hướng giữa nhiều NavigationControllers
Câu hỏi chính là: Điều gì đã xảy ra nếu chúng tôi có nhiều NavigationControllers trong Storyboard và muốn chuyển từ người này sang người khác? (Và điều này có thể đạt được chỉ bằng cách sử dụng phân đoạn như chúng tôi làm giữa các VC thông thường, tôi có đúng không?)
Như tôi hiểu, NavigationController đại diện cho một chồng ViewControllers trong đó chúng ta có thể bật và đẩy các VC này. Vì vậy, bây giờ chúng tôi thay đổi "vị trí" của chúng tôi từ VC của NavigationController đầu tiên để VC từ thứ hai, những gì sẽ xảy ra tiếp theo? Ngăn xếp đầu tiên biến mất và bây giờ chúng tôi chỉ làm việc trong ngăn xếp thứ hai? Nếu vậy, có nghĩa là các ngăn xếp VC của NavigationController đầu tiên đã bị xóa khỏi bộ nhớ hay không?
Có lẽ tôi hoàn toàn hiểu nhầm điều gì đó hoặc có thể không :). Tôi sẽ rất vui khi thấy câu trả lời của bạn và hy vọng sẽ hỏi bạn những câu hỏi chi tiết hơn về cơ chế điều hướng.
CẬP NHẬT
Điểm có ích là: Hãy nói rằng chúng tôi có một (ban đầu) VC với hai nút tương ứng với hai phần riêng biệt của ứng dụng. Tiếp theo chúng ta bấm vào nút đầu tiên và đi đến RootVC của một NC hơn chúng ta quay trở lại VC ban đầu của chúng tôi nhấn nút thứ hai và đi đến NC khác. Điều gì đã xảy ra với ngăn xếp của NC đầu tiên khi chúng ta quay trở lại VC ban đầu và cách tốt nhất để đi "bên ngoài" NC cho VC ban đầu là gì?
CẬP NHẬT
Tôi đang cố gắng để hiểu những gì xảy ra với bộ nhớ và đó VC đang trong cảnh vào lúc này và vân vân. Có lẽ nó hoàn toàn không quan trọng nếu chúng ta có một số VC bổ sung trong cảnh, có lẽ chúng ta cần chúng để làm cho chuyển đổi giữa NC (hoặc chỉ VC) nhanh hơn. Vì vậy, tôi chỉ muốn hiểu nó hoạt động như thế nào.
Cảm ơn bạn đã trả lời chi tiết ngay bây giờ nó có ý nghĩa với tôi! Như tôi đã hiểu từ [_Điều khác biệt duy nhất là bây giờ bạn không cần bộ điều khiển thứ hai - vì vậy bạn không kết nối push segue với NC_ đỏ và [_All VC nằm trong bộ nhớ, bất kể bạn trình bày chúng như thế nào.] không cần phải có nhiều NC trong ứng dụng, chúng ta chỉ tạo ra một NC và làm tất cả mọi thứ bên trong nó, đúng không? Bạn có thể đưa ra một ví dụ khi chúng ta cần nhiều NC trong ứng dụng? – Max
Có, nếu bạn chỉ đẩy và bật các VC, một bộ điều khiển điều hướng là đủ. tôi đoán rằng ví dụ tốt nhất về cách sử dụng cho nhiều trình điều khiển điều hướng là khi bạn đã thoát khỏi menu trong ứng dụng thay đổi chế độ xem gốc của bạn (vì vậy bạn đi đến một số danh sách, nhưng cũng liên hệ với biểu mẫu v.v. Sau đó, bạn có nhiều điểm ban đầu mà người dùng tương tác - và bạn sẽ có cùng số lượng NC như vậy :) –
Trong một nhận xét của tôi về @Glorfindel tôi đã nói về một VC (ban đầu) với hai nút đi đến các phần ứng dụng khác nhau (một số loại bảng điều khiển bên trái; D). Trong trường hợp này sau khi đi từ VC ban đầu đến một trong các NC, chúng ta tạo cái cuối cùng như một cái nhìn gốc, tôi có đúng không? Và điều gì xảy ra với những cái khác (ví dụ: khi chúng ta chuyển đổi giữa các NC này)? Và cũng làm thế nào để đi từ VC của một NC đến VC cụ thể trong một NC đúng cách? (chỉ cần sử dụng show segue?) – Max