Tôi muốn lưu trữ một tham chiếu yếu zeroing đến một đối tượng trong một NSDictionary
. Đây là để tham chiếu đến một phụ huynh NSDictionary
, vì vậy tôi có thể thu thập thông tin sao lưu một cấu trúc lớn mà không cần tìm kiếm.Đối tượng yếu trong một NSDictionary?
Tôi không thể sử dụng __weak
tại đây; ngay cả khi tham chiếu cục bộ của tôi yếu, thì NSDictionary
sẽ lưu trữ một tham chiếu mạnh mẽ đến đối tượng đã được tham chiếu yếu. Và, tất nhiên, NSDictionary
không được có các đối tượng nil
.
Tôi đang sử dụng iOS chứ không phải máy Mac, do đó, NSHashTable
không khả dụng. Và tôi chỉ muốn một vật thể yếu đuối; phần còn lại vẫn nên mạnh mẽ.
(Tôi sẽ gửi câu trả lời của tôi, vì vậy tôi có một cái gì đó để đánh dấu như được chấp nhận nếu không có câu trả lời tốt hơn. Nhưng tôi hy vọng ai đó có một câu trả lời tốt hơn.)
Tôi đã tạo [this] (https://gist.github.com/firelizzard18/6326536) làm từ điển lưu trữ các đối tượng dưới dạng tham chiếu yếu kém hiệu quả. Nó có thể được sửa đổi (và dọn dẹp) để phục vụ cho mục đích của bạn. –