5
Hi tôi muốn biết sự khác biệt giữa cống, phát hành, dealloc và giữ lại trong Objective-C.sự khác biệt giữa cống, phát hành, dealloc và giữ lại trong Objective-C/
Hi tôi muốn biết sự khác biệt giữa cống, phát hành, dealloc và giữ lại trong Objective-C.sự khác biệt giữa cống, phát hành, dealloc và giữ lại trong Objective-C/
retain
tăng số lượng tài liệu tham khảo về một đối tượngrelease
giảm tham chiếu vào một đối tượngdrain
được sử dụng thay cho phát hành trên CHỈ cho NSAutoreleasePool đối tượng do một số arcana liên quan đến Objective C Thu gom rácdealloc
được gọi bởi hệ thống sau khi retainCount của đối tượng truy cập 0. Đó là nơi bạn làm sạch những thứ khác nhau mà đối tượng của bạn có (như bộ giải mã hoặc trình hoàn thiện). Bạn nên KHÔNG BAO GIỜ gọi điện trực tiếp, ngoại trừ việc gọi [super dealloc]
vào cuối các quy trình dealloc
của bạn.Bạn thực sự chỉ nên đọc qua quản lý bộ nhớ của Apple documentation.
cảm ơn bạn rất nhiều ... – suse
- cũng hữu ích trên NSAutoreleasePool để nó hoạt động dưới dạng GC. Cụ thể là, nó kích hoạt một bộ sưu tập ngay lập tức. Nếu chúng tôi sử dụng -release, sau đó theo GC, tin nhắn đó sẽ bị bỏ qua, và không có gì sẽ xảy ra. – kperryua
+1 cho câu trả lời tuyệt vời này – swiftBoy