Trong ứng dụng dựa trên thanh tab, Nếu tôi có một bộ điều khiển được đẩy trong ngăn điều hướng từ một tab và sau đó, khi một tab khác đang hoạt động, tôi thử bật bộ điều khiển đó, nó sẽ không được phát hành trừ khi tôi bật nó mà không có hoạt ảnh .UIKit không phát hành bộ điều khiển nếu nó không bị xóa với hoạt ảnh?
này hoạt động:
[navigationController popToRootViewControllerAnimated:NO];
Và đây không:
[navigationController popToRootViewControllerAnimated:YES];
Có ai có bất kỳ ý tưởng về những gì đang xảy ra ở đây? Thông số animated
có được sử dụng không đúng cách không?
UPDATE:
của Apple thông báo với tôi rằng đây thực sự là một lỗi trong UIKit, và họ đánh dấu nó như là cấp bách và phân công ai đó để nó. Nó có thể đã được giải quyết trong các bản phát hành mới nhất nhưng tôi không có thời gian để kiểm tra.
Âm thanh như một lỗi trong UIKit. Nếu bạn có thể xác nhận nó bằng một dự án đơn giản, hãy gửi nó cho Apple. –
Tôi vừa tạo một dự án mẫu để xác nhận nó, và tôi có thể làm điều đó. Tất nhiên nó không phải là cái gì đó đang xảy ra với * mọi * sử dụng UINavigationController. Nó sẽ xảy ra nếu bạn có một UITabBarController với một bộ điều khiển điều hướng bên trong một tab, và từ một tab khác bạn bật trình điều khiển điều hướng. Những gì tôi nhận thấy là, nếu bạn có nhiều hơn 1 bộ điều khiển xem trong ngăn xếp, tất cả chúng đều được phát hành ngoại trừ cái cuối cùng, vẫn giữ nguyên cho đến khi bạn chọn lại tab khác (thẻ có bộ điều hướng). – eugeniodepalo
Nếu bằng bộ điều khiển "cuối cùng" có nghĩa là bộ điều khiển gốc, thì điều này là thích hợp: "Nếu bộ điều khiển xem ở đầu ngăn xếp là bộ điều khiển chế độ xem gốc, phương pháp này không làm gì cả ... bạn không thể bật mục cuối cùng ngăn xếp. " (Từ tài liệu cho 'popViewControllerAnimated:'.) Bạn hiếm khi phải lo lắng về việc khi nào UIKit giải phóng các đối tượng. Chỉ cần chắc chắn rằng bạn làm một phần của bộ nhớ quản lý. Ai biết được, có lẽ các khuôn khổ giữ cho một đối tượng để tái chế nó sau này? Hoặc có thể không. Vấn đề là, bạn có thể dựa vào chúng để được thử nghiệm tốt. – Felixyz