【发布时间】:2011-05-25 09:33:15
【问题描述】:
我需要获取地图中特定键的值,
id val = [m_cAppIdMap valueForKey:wTimerIds];
其中wTimerIds 是一个无符号短整数。
运行时异常:EXC_BAD_ACCESS
警告:传递参数 1 'valueForKey:' 使指针来自 没有强制转换的整数
已编辑:
NSNumber* val = [m_cAppIdMap valueForKey:[NSNumber numberWithUnsignedShort:wTimerIds]];
我得到的警告是, 不兼容的 Objective-C 类型 'struct NSNumber *',预期 'struct NSString *' 时 从不同的 Objective-C 类型传递 'valueForKey:' 的参数 1
我得到的运行时异常是, [NSCFNumber 长度]:无法识别的选择器发送到实例 0x100110c20
我将密钥作为 unsignedshort 存储在字典中。所以我试图在字典中搜索具有该数据类型的值。
【问题讨论】:
-
试试这个 id* val = [m_cAppIdMap valueForKey:wTimerIds];
-
或者这个 id* val = (id*)[m_cAppIdMap valueForKey:wTimerIds];
-
@viTo Brothers:我试过你让我做的。但它仍然有错误,伙计。
标签: objective-c