iOS 개발자/Xcode 기능 정리

Xcode 기능 - 간단한 내용 저장, 불러오기 / save, get simple data with userDefault

FDEE 2021. 2. 6. 02:05

이번에는 UserDeraults 객체를 이용하여 어플내부에 간단한 정보를 저장하는 방법에 대해 알려드릴께요

 

 

먼저 정말로 간단한 내용만 저장을 해야합니다!

Int값, String값 등등 변수 몇가지만 저장하는 용도로 적합하답니다

좀더 복잡하게 저장을 해야하는 경우 CoreData 사용한 방법을 찾아보셔야 합니다 (아직 안써봐서 몰라요...)

 

 

 

저같은 경우 위의 세가지 시간을 저장하는 용도로 사용했답니다

 

1) ViewController

일단 저장하는 방법에 대해 먼저 알아볼께요

2) 저장하기

간단한 값을 저장하는만큼 저장하는방법 또한 아주간단합니다!

UserDefaults.standard.set(sumTime, forKey: "sum2")

여기서 sumTime 값이 바로 저장하고자 하는 변수인 value 값 입니다

forKey 값은 저장시 사용되는 이름인 key 값 입니다. 나중에 찾을 경우에 사용됩니다

보통 이런것들이 key-value 쌍으로 저장되어 key 값으로 찾게되죠? 같은 원리입니다

 

 

2) 불러오기

불러오는 방법 또한 아주 간단합니다!

sumTime = UserDefaults.standard.value(forKey: "second") as? Int ?? 0

sumTime은 불러온 값을 저장할 변수입니다. 당연히 변수명은 원하는대로 하시면 됩니다. 여기서

저장할때 사용된 forKey 값을통해 값을 찾아오는 원리입니다. 간단하죠?

 

여기서 as? Int ?? 0 은 무슨뜻인가요?

값을 불러올 경우 두가지 케이스가 있죠 정상적인 값이 있는 경우와

값이 존재하지 않을 경우. 이럴때 에러가 발생하기 때문에

as? Int 코드를 통해 Int 형이라는 것을 나타내며

?? 0 코드를 통해 값이 없을 경우 0으로 초기값을 설정한다는 의미입니다

 

간단하죠?