Swift 3.0 UserDefaults获得值错误

时间:2016-10-28 12:27:26

标签: swift swift3 nsuserdefaults

这段代码从不调用"执行某些操作",但密钥的Int存储在UserDefaults

if UserDefaults.standard.integer(forKey: "prefix_\(item.value(forKey: "someKey") as! String)") == 1 {
    //do something
}

如果我将代码更改为:

let key = "prefix_\(item.value(forKey: "someKey") as! String)"
if UserDefaults.standard.integer(forKey: key) == 1 {
    do something
 }

效果很好!我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

这是我的例子,它与你的价值观合作得很好。

我认为,“item”是NSDictionary。

这对我有用

    let item : NSDictionary = ["someKey":"123"]

    let key = "prefix_\(item.value(forKey: "someKey") as! String)"
    if UserDefaults.standard.integer(forKey: key) == 1 {
        // do some thing
    }

以及此以及

    let item : NSDictionary = ["someKey":"123"]

    if UserDefaults.standard.integer(forKey: "prefix_\(item.value(forKey: "someKey") as! String)") == 1 {
        // do some thing
    }

我认为你必须在复制中犯错误,或遗漏任何)"