[IOS] UserDefaults set(_:forKey:) 메서드
UserDefaults에 값을 저장하는 방법은 set(_:forKey:)
메서드를 사용하는 것입니다. 이 메서드는 UserDefaults 객체에 값을 저장할 때 사용되며, 값을 설정하고 나중에 다시 불러올 수 있도록 합니다.
아래는 UserDefaults에 값을 저장하는 간단한 예제입니다:
// UserDefaults 객체 생성
let userDefaults = UserDefaults.standard
// String 값 저장
let stringValue = "Hello, UserDefaults!"
userDefaults.set(stringValue, forKey: "myStringKey")
// Int 값 저장
let intValue = 42
userDefaults.set(intValue, forKey: "myIntKey")
// Bool 값 저장
let boolValue = true
userDefaults.set(boolValue, forKey: "myBoolKey")
// 배열 저장
let arrayValue = [1, 2, 3, 4, 5]
userDefaults.set(arrayValue, forKey: "myArrayKey")
// 딕셔너리 저장
let dictionaryValue = ["name": "John Doe", "age": 30]
userDefaults.set(dictionaryValue, forKey: "myDictionaryKey")
// UserDefaults 변경사항 저장
userDefaults.synchronize()
위의 예제에서는 다양한 데이터 타입을 UserDefaults에 저장하고 있습니다. set(_:forKey:)
메서드를 사용하여 값을 저장할 때, 해당 값의 데이터 타입이 UserDefaults에서 지원하는 타입이어야 합니다.
특정 값을 UserDefaults에 저장하고 나중에 불러오려면 해당 키를 사용하여 값을 가져올 수 있습니다:
// UserDefaults 객체 생성
let userDefaults = UserDefaults.standard
// 값 불러오기
if let storedString = userDefaults.string(forKey: "myStringKey") {
print("Stored String: \(storedString)")
}
let storedInt = userDefaults.integer(forKey: "myIntKey")
print("Stored Int: \(storedInt)")
let storedBool = userDefaults.bool(forKey: "myBoolKey")
print("Stored Bool: \(storedBool)")
if let storedArray = userDefaults.array(forKey: "myArrayKey") as? [Int] {
print("Stored Array: \(storedArray)")
}
if let storedDictionary = userDefaults.dictionary(forKey: "myDictionaryKey") as? [String: Any] {
print("Stored Dictionary: \(storedDictionary)")
}
이렇게 하면 저장된 값들을 다시 불러올 수 있습니다. UserDefaults에 저장할 수 있는 데이터 타입은 NSString, NSNumber, NSData, NSDate, NSArray, NSDictionary이므로, custom 클래스와 같은 복잡한 데이터를 저장하려면 직렬화를 사용하여 데이터를 변환해야 합니다.