Tôi đang phát triển cho iPhone, mục tiêu-c. Khi chúng ta sử dụng autorelease, khi nào đối tượng thực sự được giải phóng - khi nhóm autorelease chính được giải phóng (ví dụ: ứng dụng kết thúc?), Hoặc ngay khi hàm cục bộ kết thúc? Ví dụ: Tôi muốn thực hiện một việc như sau:Khi nào một đối tượng có 'autorelease' được phát hành?
- (void) test { MyObj* p = [[[MyObj alloc] init] autorelease]; ... // is p 'released' here? }
Vì vậy, 'p' được phát hành ngay khi thoát khỏi chức năng hoặc khi nhóm tự động phát hành chuỗi này được phát hành? Tôi nghĩ đó là khi thoát chức năng địa phương, nhưng tôi vừa mới tạo chủ đề của riêng tôi và cần thiết để thiết lập một hồ bơi autorelease được đem lại cho tôi những suy nghĩ thứ hai trên khi điều này thực sự xảy ra ..
Cảm ơn
Đây là liên kết tới trang trên các nhóm tự động phát hành: http://developer.apple.com/documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmAutoreleasePools.html – Jonathon