我有一堆Lesson
,這個類很好用。有一個視圖控制器與這些課程一起工作。該控制器需要知道lesson
的上傳狀態,因此我們有一個帶有Lesson
作爲關鍵字的NSDictionary和一個具有上載狀態百分比的NSNumber
。使用一個對象作爲NSDictionary的關鍵字
這是一個問題,因爲在插入Lesson
之後,您希望稍後在相同的Lesson
(可能在cellForRowAtIndexPath:
)上查找以取得進展。這不起作用,因爲鍵在NSDictionary中複製。
是好形式保存和取鑰匙像這樣的東西:
NSNumber *key = [NSNumber numberWithUnsignedInt:[obj hash]];
[dict setObject:@"... upload progress" forKey:key];
或者有沒有更好的方法?
Works 100%,我現在正在使用這個。謝謝。 – 2012-07-18 23:12:54
'NSMapTable'也是一個選項。它的行爲像一個'NSDictionary',但允許在其他選項之上對其鍵的弱引用。 – 2014-05-12 19:53:24
我有一個簡單的代碼示例下面的'NSMapTable'。 – SmallChess 2016-10-11 08:17:08