我需要添加键值对NSIndexPath - > BOOL到NSMutableDictionary。我可以这样做吗?这对我来说真的是一个问题。我不能既不使用setValue forKey
(因为键必须只是NSString),也不能setObject forKey
(因为BOOL是原始的,我也不能使用[NSNumber numberWithBool:YES]
因为NSNumber是不可变的,我需要改变BOOL值)。
所以问题是如何添加这样一个具有所有限制的键值对。有什么想法吗?
答案 0 :(得分:3)
按照此回答中的建议将BOOL包裹在NSNumber
中:Objective-C dictionary inserting a BOOL
答案 1 :(得分:0)
字典必须包含对象。没有办法解决这个问题。您可以这样做的一种方法是为您需要操作的BOOL创建自定义getter和setter方法,以便它获取并更新字典中的值而不是属性中的值。或者,如果您需要保留属性引用,则需要使用KVO来保持两个值同步,但这听起来像反模式。如果您更详细地描述了您的用例,可能会有所帮助,但我认为这是您的两个选择。