2017-07-06 36 views
-1

我将数据保存到使用2文本字段作为字符串,字符串userDeafults但我想知道如何检索所有显示的数据或者使用循环或功能如何在userDefaults迅速循环

let save = UserDefaults.standard 

    let heading = headingText.text 
    let description = desxriptionTexr.text 
    save.set(description, forKey: heading!) 
+0

我认为不是一个正确的方法。你可以阅读我的答案略低于 – thedjnivek

+0

可能回答你的问题:[点击这里](https://stackoverflow.com/a/44940571/4447772) –

+0

请检查我的回答 –

回答

6

要获得所有键和相应值UserDefaults,你可以使用:

for (key, value) in UserDefaults.standard.dictionaryRepresentation() { 
      print("\(key) = \(value) \n") 
} 

迅速3,你可以存储和使用检索:

UserDefaults.standard.setValue(token, forKey: "user_auth_token") 
print("\(UserDefaults.standard.value(forKey: "user_auth_token")!)") 
0

在这里你将标题设置为标题,并将值作为描述。 可以使用UserDefaults.standard.object(forKey:)UserDefaults.standard.string(forKey:)UserDefaults.standard.value(forKey:)等功能检索userDefaults值。

所以它能够更好地保存2个不同的密钥的标题和描述可能会像

let save = UserDefaults.standard 
let heading = headingText.text 
let description = desxriptionTexr.text 
save.set(description, forKey: "description") 
save.set(heading, forKey: "heading") 

而且你可以检索像

let description = UserDefaults.standard.string(forKey:"description") 
let heading = UserDefaults.standard.string(forKey:"heading") 
+0

甚至有'字符串(forKey:' – vadian

+0

我只是把它作为一般,我已经更新了答案,谢谢你的反馈。 –

0

如果你有多个字符串,只是值保存为数组

UserDefaults.standard.set(YourStringArray, forKey: "stringArr") 

let arr = UserDefaults.standard.stringArray(forKey: "stringArr") 

for s in arr! { 
    //do stuff 
} 
1

我觉得是不是做了正确的方式。

我建议你把你的价值观转换成字典,并设置字典入UserDefaults。

let DictKey = "MyKeyForDictionary" 
var userDefaults = UserDefaults.standard 

// create your dictionary 
let dict: [String : Any] = [ 
    "value1": "Test", 
    "value2": 2 
] 

// set the dictionary 
userDefaults.set(dict, forKey: DictKey) 

// get the dictionary 
let dictionary = userDefaults.object(forKey: DictKey) as? [String: Any] 

// get value from 
let value = dictionary?["value2"] 


// iterate on all keys 
guard let dictionary = dictionary else { 
    return 
} 
for (key, val) in dictionary.enumerated() { 

}