简体   繁体   中英

How to print NSUserDefaults content in Swift

How do you print all the content of NSUserDefaults? I need to see everything that has been stored into NSUserDefaults. Is there a simple way to print that or to see it into the logs?

In Swift!

Thank you

Taken from - Retrieve UserDefaults in Swift

In Swift we can use the following:-

Swift 3.x & 4.x

For getting all keys & values:

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

For retrieving the complete dictionary representation of user defaults:

print(Array(UserDefaults.standard.dictionaryRepresentation()))

For retrieving the keys:

// Using dump since the keys are an array of strings.
dump(Array(UserDefaults.standard.dictionaryRepresentation().keys))

For retrieving the values:

We can use dump here as well, but that will return the complete inheritance hierarchy of each element in the values array. If more information about the objects is required, then use dump, else go ahead with the normal print statement.

// dump(Array(UserDefaults.standard.dictionaryRepresentation().values))
print(Array(UserDefaults.standard.dictionaryRepresentation().values))

Swift 2.x

For retrieving the complete dictionary representation of user defaults:

print(NSUserDefaults.standardUserDefaults().dictionaryRepresentation())

For retrieving the keys:

print(NSUserDefaults.standardUserDefaults().dictionaryRepresentation().keys.array)

For retrieving the values:

print(NSUserDefaults.standardUserDefaults().dictionaryRepresentation().values.array)
for elem in NSUserDefaults.standardUserDefaults().dictionaryRepresentation() {
    println(elem)
}

以下是获取Swift 3中所有标准用户默认值的语法

print(UserDefaults.standard().dictionaryRepresentation())

With Swift 3.0

print(UserDefaults.standard.dictionaryRepresentation())

Here is the syntax that provide more clarity.

let defaults = UserDefaults.standard    
defaults.dictionaryRepresentation().map{print("\($0.key): \($0.value)")}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM