Có cách nào dễ dàng để có các thùng chứa mục tiêu tinh khiết-c, chẳng hạn như NSMutableDictionary hoặc CFMutableDictionary, không tăng số lượng tham chiếu của đối tượng được thêm vào mà không sử dụng tiêu chuẩn C++ thư viện?từ điển không đếm tham chiếu trong mục tiêu-c
EDIT: Giải thích - lý do tôi muốn điều này là vì vậy tôi có thể triển khai một loại mẫu "Chính xác Một" - một lớp sẽ có phương thức getThing tĩnh: (NSString *). Nếu phương thức đó tìm thấy Thing được kết hợp với tên trong một số cơ sở dữ liệu tĩnh (từ điển không tham chiếu), nó trả về nó, nếu không nó sẽ tạo một, thêm nó vào cấu trúc dưới tên đó và trả về nó. Đối tượng Thing đó có thể được giữ lại bởi máy khách theo ý muốn, nhưng khi số tham chiếu của nó rơi xuống 0 (và dealloc được gọi), nó phải được loại bỏ khỏi từ điển. Vì vậy, tôi không thể phát hành nó khi thêm và giữ lại nó khi loại bỏ nó - dealloc sẽ được gọi lại, và tôi không muốn điều đó. Đó là lý do tại sao tôi cần từ điển không tăng dần. Nếu có một cách khác để có được những gì tôi muốn, xin vui lòng cho tôi biết, mặc dù tôi khá chắc chắn rằng câu trả lời đã kiểm tra mang lại cho tôi những gì tôi muốn. Cảm ơn!
Sự cố khi gọi 'release' sau khi thêm là vùng chứa sẽ giải phóng đối tượng khi nó bị xóa, vì vậy nếu bạn không giữ con trỏ đến nó mà bạn có thể giữ lại trước khi xóa, bạn sẽ gió lên phát hành nó. – warrenm
@warrenm, nhưng bạn hoàn toàn có thể gọi giữ lại trước khi xóa đối tượng ... tất nhiên, tôi không thấy lý do tại sao bạn không muốn tăng số lượng tham chiếu khi thêm ở vị trí đầu tiên. –
Điểm tốt. Điều đó hoàn toàn vô hiệu hóa bình luận của tôi. Xin lỗi vì điều đó. – warrenm