将NSCountedSet持久保存到NSUserDefaults

时间:2015-07-24 20:01:23

标签: ios objective-c

我需要将NSCountedSet个自定义对象保留到NSUserDefaults

我认为问题是-(id)objectForKey: NSUserDefaults在文档here中有特殊考虑因素:

Special Considerations
The returned object is immutable, even if the value you originally set was mutable.

问题

我如何继续NSCountedSet if(正如我目前所假设的那样?)NSUserDefaults在我需要保留时从NSSet返回不可变的-(id)objectForKey: NSCountedSet包含的内部计数元数据?

1 个答案:

答案 0 :(得分:2)

您无法将NSCountedSet写入用户默认值。只有数组,字典,字符串,数字,日期和数据。

您可以创建与NSCountedSet匹配的字典,将set元素作为键,将计数转换为NSNumber作为值。当然,当您阅读字典时,将其转换为计数集。只需几行代码。

或者,转换为具有重复值的数组,具体取决于其计数。如果计数的集合包含计数为3的“Hello”,则将其添加到阵列三次。