2016-10-28 10 views
0

このコードでは何もしませんが、IntキーはUserDefaultsに保存されています。Swift 3.0 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

これは私の例であり、あなたのバリューではうまくいきます。

「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 
    } 

を働く私は、あなたがコピーで間違いを犯して、または任意の)または"を逃すことがなければならないと思います。

関連する問題