tôi có xu hướng để phát hành công cụ của tôi trong -dealloc, và bây giờ iPhone OS 3.0 giới thiệu phương pháp này -viewDidUnload funny, nơi họ nói:Chính xác tôi phải làm gì trong viewDidUnload?
// Thả bất kỳ subviews của giao diện chính giữ lại. // ví dụ. self.myOutlet = nil;
So -viewDidUnload dường như được gọi khi chế độ xem bộ điều khiển chế độ xem đã được khởi động khỏi bộ nhớ. Và nếu tôi có subviews gắn vào quan điểm chính của bộ điều khiển xem, tôi phải phát hành những thứ đó chỉ ở đây, nhưng không phải trong -dealloc là tốt?
Điều đó thật khó hiểu. Ngoài ra, điều gì sẽ xảy ra nếu --ealloc khiến cho khung nhìn được dỡ bỏ (được phát hành)? Sau đó, một lần nữa, nó sẽ gọi -viewDidUnload?
Tôi nhận ra sự khác biệt, rằng -viewDidUnload chỉ dành cho trường hợp chính chế độ xem bị giết nhưng bộ điều khiển chế độ xem vẫn nằm trong bộ nhớ. Và -dealloc là cho trường hợp toàn bộ điều đi vào thùng rác.
Có thể ai đó có thể xóa bỏ sự nhầm lẫn.
Câu hỏi tương tự: http://stackoverflow.com/questions/1158788/when-should-i-release-objects-in-voidviewdidunload-rather-than-in-dealloc –
viewDidUnload không được chấp nhận trong iOS 6! – whyoz