2011-09-23 38 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,但我不得不相信我的情况也是如此。

相关问题