2011-09-23 17 views
3

我有一個是做一些奇怪的一個NSMutableDictionary:的NSMutableDictionary返回爲0xffffffff,而不是零的某個鍵不存在

(gdb) po listenerRegistry 
{ 
} 
(gdb) po productID 
com.mycompany.productid 
(gdb) po [listenerRegistry objectForKey:[productID stringValue]] 
0xffffffff does not appear to point to a valid object. 
(gdb) po [listenerRegistry class] 
__NSCFDictionary 
(gdb) 

根據該文檔,nil被認爲對於不是鍵返回在字典裏。

有沒有其他人看過這個?

+3

從來沒有見過它,但順便說一句,它看起來很像NSNotFound。 – Monolo

+0

哇,你說得對。我想我找出了這個問題。 – Hyperbole

+0

我也遇到過這個。我想我會做if(request!= nil && request!= NSNotFound)。有人對此有任何想法嗎?似乎只是在我的各種NSDictionary用法的這一個實例中受到鼓勵。它看起來不像我們是唯一的。 [鏈接](http://lists.apple.com/archives/objc-language/2010/Oct/msg00026.html) – deathbytes

回答

3

回答我自己的問題。

NSMutableDictionary內的對象類型id <MyObserverProtocol>,並且它會出現Monolo是正確的他觀察到的返回值看起來像NSNotFound

很顯然,當基金會類別在不存在或未找到的情況下被要求提供該類型的物品時,會返回NSNotFound(如here所述)。雖然文件明確列出了NSArray,但我不得不相信我的情況也是如此。

相關問題