ํฐ์คํ ๋ฆฌ ๋ทฐ
iOS) UIImage ๋ฅผ Data ๋ก ๋ณํํด์ UserDefaults ์ ์ ์ฅํ๋ ๊ฒ์ ๋ถ์ ํฉํ๋ค?
hyun99999 2021. 9. 6. 17:29๐ UIImage ๋ฅผ Data ๋ก ๋ณํํด์ UserDefaults ์ ์ ์ฅํ๋ ๊ฒ์ ๋ถ์ ํฉํ๋ค?
UIImage ๋ฅผ Data ๋ก ๋ณํํ๋ ๊ฒ์ ์๋ฌธ์ ๊ฐ์ง ๊ฒ์๊ธ์ด ์์๋ค. ์ฐธ๊ณ ํด๋ณด์.
How to Save an Image in User Defaults in Swift
๊ทธ ์ด์ ๋ UserDefaults ๋ฅผ ์ด๋ฏธ์ง ๋ฐ์ดํฐ์ ๊ฐ์ด ๋๋์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋๋ฐ ์ฌ์ฉํ๊ธฐ์๋ ๋ถ์ ํฉํ๋ค๋ ๊ฒ์ด๋ค.
๊ทธ๋ฆฌ๊ณ ๋๋ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ๋ฐ๋ก ์ต๊ทผ์ ์ง๋ฉดํ์๋ค.
iOS) UserDefaults ์ image ์ ์ฅํ๊ธฐ
๐ ๊ทธ๋ ๋ค๋ฉด?
์์ ๊ธ์์๋ ์ด๋ ๊ฒ ์ ์ํ๋ค.
application's sandbox ์ ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ๊ณ UserDefaults ์ ์ด๋ฏธ์ง์ ์์น๋ฅผ ์ ์ฅํ๋ ๊ฒ์ด๋ค. ์ฆ, FileManager ๋ฅผ ์ฌ์ฉํด์ ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ๊ณ ๊ทธ ๊ฒฝ๋ก๋ฅผ UserDefaults ์ ์ ์ฅํ๋ ๊ฒ์ด๋ค.
import UIKit
// Load Image
let image = UIImage(named: "image_name")
// Convert to Data
if let data = image?.pngData() {
// Create URL
let documents = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
let url = documents.appendingPathComponent("image_name.png")
do {
// Write to Disk
try data.write(to: url)
// Store URL in User Defaults
UserDefaults.standard.set(url, forKey: "image")
} catch {
print("Unable to Write Data to Disk (\(error))")
}
}
'iOS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
iOS) URLSession ์ ๋ํด์ ์์๋ณด์(1/2) - ์๋ฆฌ (0) | 2021.09.15 |
---|---|
iOS) Face ID & Touch ID - Biometrics Authentication(์์ฒด์ธ์ ์ธ์ฆ) (0) | 2021.09.11 |
iOS) UserDefaults ์ image ์ ์ฅํ๊ธฐ (0) | 2021.09.06 |
iOS) UILabel ๋ถ๋ถ ๊ธ์ ํฌ๊ธฐ/ํฐํธ/์์/๋ฐ์ค ์ค์ ํ๊ธฐ (0) | 2021.08.31 |
iOS) ์ํ๋ ๋ชจ์๋ฆฌ๋ง cornerRadius ์ฌ์ฉํ๊ธฐ (0) | 2021.08.31 |
- configurable widget
- Algorithm
- urlsession
- rxswift
- 2022 KAKAO TECH INTERNSHIP
- containerBackground
- UserDefaults
- YPImagePicker
- Protocol
- Widget
- Notification
- projectsetting
- github
- WWDC
- MOYA
- SwiftUI
- Firebase
- watchOS
- OpenSourceLibrary
- MVVM
- Objective-C
- IOS
- Swift
- APNS
- WidgetKit
- RxCocoa
- CloneCoding
- ์๋ฒํต์
- async/await
- WWDC22
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- Total
- Today
- Yesterday