我需要将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
包含的内部计数元数据?
答案 0 :(得分:2)
您无法将NSCountedSet写入用户默认值。只有数组,字典,字符串,数字,日期和数据。
您可以创建与NSCountedSet匹配的字典,将set元素作为键,将计数转换为NSNumber作为值。当然,当您阅读字典时,将其转换为计数集。只需几行代码。
或者,转换为具有重复值的数组,具体取决于其计数。如果计数的集合包含计数为3的“Hello”,则将其添加到阵列三次。