我有以下测试代码:
func testSaveDictionary() {
let userDefaults = NSUserDefaults.standardUserDefaults()
var jo = [
"a" : "1.0",
"b" : "2.0"
]
let akey = "aKey"
userDefaults.setObject(jo, forKey: akey)
var isOk = userDefaults.synchronize()
var data0 = userDefaults.dictionaryForKey(akey)
println(data0)
}
println(data0)的输出为nil。
我的代码有问题吗?Swift字典是现在还是最终版本中的属性列表?
Swift 2,Xcode 7 更新 : 如@atxe所示,NSUserDefaults词典现在映射为[String, AnyObject]
。这是Objective-C“轻量级泛型”的结果,它允许将Objective-C方法声明为
- (NSDictionary<NSString *,id> *)dictionaryForKey:(NSString *)defaultName
(默认对象必须是属性列表,尤其是字典键只能是字符串。)
另一方面,如果可能的话,会自动桥接一个Swift字典,因此问题的原始代码可以再次使用:
let jo = [
"a" : "1.0",
"b" : "2.0"
]
let akey = "aKey"
// Swift 2:
userDefaults.setObject(jo, forKey: akey)
// Swift 3:
userDefaults.set(jo, forKey: akey)
Swift 1.2的 原始答案 : 用户默认设置可以存储NSDictionary
对象。这些被映射为Swift [NSObject : AnyObject]
:
var jo : [NSObject : AnyObject] = [
"a" : "1.0",
"b" : "2.0"
]
userDefaults.setObject(jo, forKey: akey)
var isOk = userDefaults.synchronize()
并请注意,它dictionaryForKey()
返回一个可选的,因此您应该使用一个可选的赋值进行检查:
if let data0 = userDefaults.dictionaryForKey(akey) {
print(data0)
} else {
print("not set")
}
// Output: [b: 2.0, a: 1.0]
我想将pandas数据帧保存为csv文件,问题是要将np.array转换为字符串。 我想将数组保存为数组,但在文档中找不到任何有用的内容。 解数独=[123345894324321321](整数列表) n_splits=3(整数) 最终结果应该是: [123 345 894 324 321 321] 1,[123 345 894 324 321 321] 3,[123 345 894 324 32
希望你能帮助我。当运行应用程序时,它正在工作,但当我再次运行时,它不工作,并且没有发现错误。我不知道为什么,但有时它起作用,但有时它不起作用。这是我的密码。。。。 公共类filldisResult扩展了AppCompative活动{ SharedPreferences SharedPreferences=getSharedPreferences(SCOREPREFERENCE,MODE_PRIVA
在使用hibernate和jpa的spring mvc项目中,我有一个实体和一个实体。每个可以有许多,但每个只能有一个。如何为现有的保存新的? 我读过很多关于这个的帖子。如果我试图保存新的,就会出现无法保存分离实体的错误。但如果我试图保存现有的,则不会保存该角色。我读了这篇帖子,建议将hibernate注释移动到getter,但当我这样做时,我会收到一个引用未知属性的hibernate映射错误。这
我所尝试的代码片段:
如果不保存到磁盘,然后打开'out.png',如何做到这一点?
在Oracle 12数据库中,我的一个列是用NUMBER(10,2)定义的。目标是存储这样的数字:12345678.12。实际上,感谢OracleSQLDeveloper,我可以存储这样的数字,因此格式是匹配的。 通过我的Hibernate-Java应用程序,当我更新包含以下值的实体时,它可以工作: 但是在下面的例子中,我得到了一个错误 它看起来像一个数字(8,2)。。。 该字段位于@Embedd