可能有已處理這個問題的帖子,但我無法準確找到我想要的內容......我有一個NSMutableDictionary
,其關鍵是NSObject<NSCopying>
的一個子類。我發現objectForKey:
不能正常工作,即使我使用我剛用於撥打setObject:forKey:
的相同密鑰對象,我也總是會收到nil
。如何從字典中獲取NSObject對象的對象?
處理這個問題的最佳方法應該是什麼?
可能有已處理這個問題的帖子,但我無法準確找到我想要的內容......我有一個NSMutableDictionary
,其關鍵是NSObject<NSCopying>
的一個子類。我發現objectForKey:
不能正常工作,即使我使用我剛用於撥打setObject:forKey:
的相同密鑰對象,我也總是會收到nil
。如何從字典中獲取NSObject對象的對象?
處理這個問題的最佳方法應該是什麼?
當您調用setObject:forKey:
時,密鑰被複制,所以字典不會獲得密鑰對象本身。這就是爲什麼當你撥打objectForKey:
時你得不到零。您需要執行-(BOOL)isEqual:(id)anObject
。
好吧,我想你需要實現
- (id)copyWithZone:(NSZone*)zone;
- (BOOL)isEqual:(id)object
- (NSUInteger)hash;
所有的方法都上方,以便在NSDictionary的
使用NSObject的關鍵