我有一个可变字典(以 [Int:Int] 的形式)并希望保存它。我会像这样使用 NSUserDefaults :
var myDic: NSMutableDictionary = [:]
myDic = [1:2]
NSUserDefaults.standardUserDefaults().setObject(myDic, forKey: "myDic")
但这样我得到一个错误:
线程 1:信号 SIGABRT
我不知道为什么。
setObject(_:forKey:)
不能接受Dictionary
带有整数类型的键。该方法需要属性列表对象,但是myDic = [1:2]
不是属性列表对象。
有两个关于它的文件。
NSUserDefaults 的 setObject(_:forKey:)
The value
参数只能是属性列表对象:NSData
,
NSString
, NSNumber
, NSDate
, NSArray
, or NSDictionary
. For
NSArray
and NSDictionary
对象,其内容必须是属性
列出对象。
关于财产清单
虽然NSDictionary
and CFDictionary
对象允许它们的键
是任何类型的对象,如果键不是字符串对象,则
集合不是属性列表对象。
如果您将整数键设置为Dictionary
, the Dictionary
对象不能用于以下值setObject
。您必须使用字符串作为键,如下所示:
myDic = ["1": 2]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)