iOS-Children-Study / Growth-Study

성장로드맵 체크포인트 기반 스터디 레포입니다.
1 stars 0 forks source link

박도진_0906 #14

Open DojinPark opened 1 year ago

DojinPark commented 1 year ago

ClassAndStruct-main.zip

수연님 요청 수정본 (Array 재할당 실험) ClassAndStruct.zip

JooYoung1121 commented 1 year ago

공유 내용

UserDefault

// 데이터 불러오기 let test2:String = UserDefaults.standard.string(forKey: "test")!

- 저장해야하는 갯수가 증가한다면, 위 작업을 계속 반복한다면 코드의 가독성이 떨어질 수도 있다. 
- 다음과 같이 매크로로 구현을 한다면 좀 더 간편하게 매번 저장할 수 있음.
```swift 
/// 구현 방법
@propertyWrapper
struct testSave<T> {
    let key: String
    let defaultValue: T

    var wrappedValue: T {
        get {
            UserDefaults.standard.object(forKey: self.key) as? T ?? self.defaultValue
        }
        set {
            UserDefaults.standard.set(newValue, forKey: self.key)
        }
    }
}

/// 사용법
@LocalSave(key: "test", defaultValue: "")
    private var test: String