[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 클래스와 같은 복잡한 데이터를 저장하려면 직렬화를 사용하여 데이터를 변환해야 합니다.