Tôi có câu hỏi nhanh về ARC trong iOS. (Xin lỗi tôi đã hỏi rất nhiều loại câu hỏi này, nhưng tôi chỉ lo ngại về quản lý bộ nhớ). Điều quan trọng cần lưu ý là tôi chưa bao giờ sử dụng hệ thống bảo trì bộ nhớ cũ (retain
, release
, assign
... vv) vì vậy tôi không thực sự biết ý nghĩa của các thuật ngữ đó.Khi nào các thuộc tính mạnh được phát hành trong ARC trong iOS?
Ngay bây giờ tôi đang bối rối về những gì tôi phải làm để đảm bảo rằng các thuộc tính mạnh mẽ được phát hành đúng cách. Ví dụ: giả sử tôi đang tạo ứng dụng dành cho trường học và đối tượng School
của tôi chứa tham chiếu thuộc tính mạnh mẽ đến 5 đối tượng Child
khác nhau (không nằm trong mảng). Mỗi đối tượng Child
có một con trỏ (thuộc tính) mạnh đến đối tượng Book
.
Nếu tôi xóa một trong số Child
đối tượng khỏi trường học của tôi (nói bằng cách tạo thuộc tính = nil hoặc bằng cách thay đổi thuộc tính của tôi để trỏ vào một đối tượng mới), Book
của nó có được phát hành đúng cách không? Tôi phải làm gì để đảm bảo rằng đây là trường hợp? Tôi có cần phải viết self.myBook = nil
theo phương thức dealloc
không? Điều gì xảy ra nếu Child
là một Trình điều khiển Chế độ xem, tôi có cần phải viết self.myBook = nil
trong phương thức viewDidUnload không?
Tôi chỉ nhắm mục tiêu iOS 5 (trở lên) nên cách quản lý bộ nhớ cũ không thực sự quan trọng đối với tôi.
Tôi khuyên bạn nên đọc: http://clang.llvm.org/docs/AutomaticReferenceCounting.html –
Cảm ơn bạn đã đề xuất. Tôi sẽ xem xét nó. – Nosrettap