- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个可变字典(以 [Int:Int] 的形式)并希望保存它。我会像那样使用 NSUserDefaults:
var myDic: NSMutableDictionary = [:]
myDic = [1:2]
NSUserDefaults.standardUserDefaults().setObject(myDic, forKey: "myDic")
但是我得到一个错误:
Thread 1: signal SIGABRT
我不知道为什么。
最佳答案
setObject(_:forKey:)
不能接受带有整数类型键的Dictionary
。该方法需要属性列表对象,但 myDic = [1:2]
不是属性列表对象。
关于它的文档有两个。
setObject(_:forKey:) of NSUserDefaults
The
value
parameter can be only property list objects:NSData
,NSString
,NSNumber
,NSDate
,NSArray
, orNSDictionary
. ForNSArray
andNSDictionary
objects, their contents must be property list objects.
And although
NSDictionary
andCFDictionary
objects allow their keys to be objects of any type, if the keys are not string objects, the collections are not property-list objects.
如果将整数键设置为 Dictionary
,则 Dictionary
对象不能用于 setObject
的值。您必须像这样使用字符串作为 key :
myDic = ["1": 2]
关于swift - 如何在 NSUserDefault 中快速设置字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50264994/
我是一名优秀的程序员,十分优秀!