일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- library
- 어플리케이션
- button
- androidstudio
- 라이브러리
- modal
- Chart
- ui
- 개발자
- Chrats
- ios
- Swift
- charts
- PyQt5
- Storyboard
- UITableView
- cocoapods
- 개발
- Android
- PyQt
- alamofire
- 그래프
- TableView
- Apple
- Python
- kotlin
- graph
- Xcode
- UIKit
- UIButton
Archives
- Today
- Total
Jiwift
[iOS/Swift] UserDefaults 사용법 저장하고 불러오기 간단한 데이터 저장, String, Int, Bool, Array 본문
iOS Dev/iOS
[iOS/Swift] UserDefaults 사용법 저장하고 불러오기 간단한 데이터 저장, String, Int, Bool, Array
지위프트 2023. 1. 8. 01:09반응형
iOS에서는 기본적으로 지원하는 저장소가 몇 가지 있는데 그중에 가장 사용하기 간편한 UserDefaults를 알아보겠습니다. 간단한 방법으로 앱의 아무 곳에서 불러오고 저장할 수 있습니다.
저장 가능한 데이터로는 일반 유형인 floats, doubles, integers, Boolean values, URLs, String 뿐만 아니라 NSData, NSString, NSNumber, NSDate, NSArra, NSDictionary도 가능합니다.
키와 데이터로 구성되어 사용하기 때문에 설정 값, 신호같은 간단한 데이터를 저장하는 데 사용됩니다. 많은 양의 데이터는 DB를 다루는 친구들을 사용하는 게 좋습니다.
자세한 설명은 아래 Apple 공식 문서를 읽어주세요.
UserDefaults | Apple Developer Documentation
사용
UserDefaults.standard.set(faceIdSetting, forKey: "faceIdSetting")
위와 같은 방법을 UserDefaults에 원하는 정보를 저장할 수 있습니다.
let defaults = UserDefaults.standard
defaults.set(inputDataOne, forKey: "myDataOne")
defaults.set(inputDataTwo, forKey: "myDataTwo")
defaults.set(inputDataThree, forKey: "myDataThree")
UserDefaults를 변수로 만들어 사용하면 위와 같이 사용 가능합니다.
//MARK: - String
// 저장하기
func setString(string: String) {
defaults.set(string, forKey: "string")
}
// 불러오기
func getString() -> String {
if let string = defaults.object(forKey: "string") {
return string as! String
}
return ""
}
저는 주로 함수로 만들어서 사용하고 있습니다.
아래는 타입별로 만들어둔 함수입니다.
//MARK: - String
// 저장하기
func setString(string: String) {
defaults.set(string, forKey: "string")
}
// 불러오기
func getString() -> String {
if let string = defaults.object(forKey: "string") {
return string as! String
}
return ""
}
//MARK: - Int
// 저장하기
func setInt(int: Int) {
defaults.set(int, forKey: "int")
}
// 불러오기
func getInt() -> Int {
if let int = defaults.object(forKey: "int") {
return int as! Int
}
return 0
}
//MARK: - Bool
// 저장하기
func setBool(bool: Bool) {
defaults.set(bool, forKey: "bool")
}
// 불러오기
func getBool() -> Bool {
if let bool = defaults.object(forKey: "bool") {
return bool as! Bool
}
return false
}
//MARK: - Array
// 저장하기
func setArray(array: [String]) {
defaults.set(array, forKey: "array")
}
// 불러오기
func getArray() -> Array<String> {
if let array = defaults.array(forKey: "array") {
return array as! Array
}
return []
}
이 정도만 알고 있어도 원하는 데이터는 충분하게 담을 수 있습니다.
전체 코드
SwiftExample/UserDefatults at main · wlxo0401/SwiftExample (github.com)
반응형
'iOS Dev > iOS' 카테고리의 다른 글
[iOS/Swift] isSecureTextEntry : TextField를 사용한 스크린 캡처 방지, 화면 스크린샷 막는 방법, 녹화 방지 (2) | 2023.07.02 |
---|---|
[iOS/Swift] UserDefaults 초기화, 리셋, 데이터 삭제 (2) | 2023.01.11 |
[iOS/Swift] UIColor 변환 사이트, RGB, Hex Color 색상 값을 Swift 코드로 변환 (0) | 2022.12.28 |
[iOS/Swift] 화면 세로 고정 코드, 아이폰 화면 고정 (0) | 2022.11.20 |
[iOS/Swift] 다크모드, 라이트모드 고정 overrideUserInterfaceStyle (0) | 2022.11.05 |