2010-01-29 32 views

Trả lời

4

Điều đó là chính xác. Vì bạn đang khởi tạo đối tượng, bạn có trách nhiệm giải phóng hoặc tự động phát hành đối tượng đó.

Khi số lần giữ lại khi tạo là 1 và bạn muốn nó không bị xóa trước khi phương thức gọi có cơ hội sử dụng đối tượng, tự động phát là tin nhắn chính xác để gửi.

Nếu bạn đã gửi bản phát hành, bộ nhớ sẽ được khôi phục ngay lập tức. Bằng cách gửi nó autorelease bộ nhớ sẽ không được khai hoang cho đến khi các hồ bơi autorelease mặc định được thoát nước, mà sẽ không xảy ra cho đến sau khi phương pháp gọi đã có một cơ hội để giữ lại các đối tượng nếu nó cần.

+2

Đúng, nhưng tôi sẽ không khuyến khích bất kỳ đề cập đến số lần giữ lại cụ thể nào, về việc tạo, số lần giữ lại có thể là bất kỳ số nào tùy thuộc vào chi tiết triển khai nội bộ. Xây dựng nhiều hơn để suy nghĩ về số lượng giữ lại như một cái gì đó bạn thêm vào và trừ đi, nhưng không bao giờ truy vấn giá trị trực tiếp. – bbum

+0

@bbum đủ công bằng – mbarnett

+0

@bbum, nhận xét tuyệt vời, làm thay đổi cách suy nghĩ của tôi. –