如何添加NSMutableDictionary键NSIndexPath和值BOOL?

时间:2013-01-28 15:10:20

标签: ios objective-c nsmutabledictionary key-value nsindexpath

  

可能重复:
  Objective-C dictionary inserting a BOOL

我需要添加键值对NSIndexPath - > BOOL到NSMutableDictionary。我可以这样做吗?这对我来说真的是一个问题。我不能既不使用setValue forKey(因为键必须只是NSString),也不能setObject forKey(因为BOOL是原始的,我也不能使用[NSNumber numberWithBool:YES]因为NSNumber是不可变的,我需要改变BOOL值)。

所以问题是如何添加这样一个具有所有限制的键值对。有什么想法吗?

2 个答案:

答案 0 :(得分:3)

按照此回答中的建议将BOOL包裹在NSNumber中:Objective-C dictionary inserting a BOOL

答案 1 :(得分:0)

字典必须包含对象。没有办法解决这个问题。您可以这样做的一种方法是为您需要操作的BOOL创建自定义getter和setter方法,以便它获取并更新字典中的值而不是属性中的值。或者,如果您需要保留属性引用,则需要使用KVO来保持两个值同步,但这听起来像反模式。如果您更详细地描述了您的用例,可能会有所帮助,但我认为这是您的两个选择。