2012-12-30 18 views

Trả lời

5

Trong ARC, mẫu này ... không làm gì trong dealloc, hoặc thậm chí thực hiện nó. ARC quản lý các thuộc tính và biến mẫu của bạn cho bạn.

Ngoại lệ duy nhất là dealloc là nơi tốt để hủy đăng ký nhận thông báo, nếu đối tượng của bạn đã đăng ký bất kỳ thông báo nào.

+0

Thông báo hủy đăng ký trong dealloc là rất quan trọng, vì loại lỗi này rất khó tìm thấy – amb

+0

Nếu bất kỳ objec nào có bất kỳ đại biểu nào, đại biểu cũng có thể không ở đây. 'someObject.delegate = nil;' – GangstaGraham

+1

@GangstaGraham nếu các đối tượng có tham chiếu yếu đến các đại biểu của họ, bạn không cần phải làm điều này, nhưng đôi khi tôi thấy rằng nó phải được thực hiện, đặc biệt cho chế độ xem cuộn và chế độ xem web đại biểu, ngay cả dưới ARC. – jrturton

0

Câu hỏi hay. Khi sử dụng ARC trình biên dịch sẽ thực hiện phương thức dealloc cho bạn và sẽ xử lý ngầm việc giải phóng các biến và thuộc tính của bạn.

Bạn vẫn có thể cần tùy chỉnh - dealloc nếu lớp học của bạn cần làm bất cứ điều gì khác ngoài việc phát hành bộ nhớ (ví dụ: hủy đăng ký các thông báo như jrturton được đề cập).

Bạn có thể nắm bắt tốt những gì bạn cần xem xét khi chuyển sang ARC trong chính thức của Apple notes.

Các vấn đề liên quan