ํด๋์ค์ ์ธ์คํด์ค ๋ฉ์๋๋ํ์ ์ ๊ตฌ์กฐ ์์ ์ ํ๋กํผํฐ ๊ฐ์ ์์ ํ ๋ ์ ๊ฒฝ ์ธ ํ์๊ฐ ์์ง๋ง, ๊ฐ ํ์ ์ ๊ตฌ์กฐ์ฒด๋ ์ด๊ฑฐํ ๋ฑ์์๋ ์ธ์คํด์ค ๋ฉ์๋๊ฐ ๋ด๋ถ ํ๋กํผํฐ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ ์ค๋ฅ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ mutating ํค์๋๋ฅผ ๋ถ์ฌ์ ๋ช ์ํด์ผ ํฉ๋๋ค. ๋ํ, ํ๋กํ ์ฝ์ด ์๊ตฌํ๋ ๋ฉ์๋๊ฐ ๋ด๋ถ์ ํ๋กํผํฐ๋ฅผ ๋ณ๊ฒฝํด์ผ ํ๋ค๋ฉด ๋ฉ์๋ ์์ mutating ํค์๋๋ฅผ ๋ถ์ฌ ๋ช ์ํด์ผ ํฉ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ ๊ฐ ํ์ ์ ์ธ์คํด์ค ๋ฉ์๋๋ ๋ด๋ถ ํ๋กํผํฐ๋ฅผ ๋ณ๊ฒฝํ ์ ์์ผ๋ฉฐ mutating ์ ์ ์ฌ์ฉํด์ผ ํ๋ ๊ฒ์ผ๊น? Swift ์์ ๊ฐ ํ์ ์ด ๋ณต์ฌ๋์์ ๋๋ ๊ฐ์ ์ฃผ์๋ฅผ ๊ฐ๋ฆฌํค๋ค๊ฐ ๋ณ๊ฒฝ์ด ์์ ๋๋ ๋ณต์ฌํ์ฌ ์์ ํ๊ฒ ๋๋ COW(Copy on Write)๊ฐ ์์ต๋๋ค. ๊ฐ ํ์ ์ ์ธ์คํด์ค ๋ฉ์๋๋ก ๋ด..
OptimizationTips ๋ฌธ์์์ Value Type(๊ฐ ํ์ )์ COW(Copy-on-Write) ์ต์ ํ๋ฅผ ์ฌ์ฉํ๋ค๊ณ ํฉ๋๋ค. COW ์ ๋ํด์ ์์๋ณด๊ธฐ ์ ์ ํ์ ์ ๋ฐ๋ผ์ ์ด๋ ํ ์์ผ๋ก ๋ณต์ฌํ๋์ง ์์๋ด ์๋ค. โ Swift ์์ ๊ฐ ํ์ ๊ณผ ์ฐธ์กฐ ํ์ ์ ๋ณต์ฌ ๋ฐฉ์์ ๋ค๋ฆ ๋๋ค. ๊ฐ ํ์ : ๊น์ ๋ณต์ฌ(deep copy). ๋ฐ์ดํฐ ์์ฒด๋ฅผ ๋ณต์ฌํ๋ ๋ฐฉ๋ฒ. ๋ ๋ฆฝ์ ์ธ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐจ์งํ๊ธฐ ๋๋ฌธ์ ๋ณต์ฌํ ์ธ์คํด์ค์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๊พธ๋๋ผ๋ ์๋ณธ์ ์ํฅ์ ์ฃผ์ง ์์ต๋๋ค. ์ฐธ์กฐ ํ์ : ์์ ๋ณต์ฌ(shallow copy). ์ต์ํ์ ๋ณต์ฌ๋ง ์งํ. ๋ณต์ฌ๋ฅผ ํ ๋ ์ฃผ์๊ฐ์ ๊ณต์ ํ๋ค. ์๋ณธ๊ณผ ๋ณต์ฌ๋ณธ์ด ๊ฐ์ ์ฃผ์๊ฐ์ ๊ณต์ ํ๋ฏ๋ก ํ ์ชฝ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๊พธ๋ฉด ๋ค๋ฅธ์ชฝ์ ์ํฅ์ ์ค๋๋ค. ๊ฐ ํ์ ์ ์์ ํ์ง ์์๋ ๋งค๋ฒ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ฌํ ๋..
- UserDefaults
- ์๋ฒํต์
- Firebase
- rxswift
- async/await
- WidgetKit
- OpenSourceLibrary
- Widget
- urlsession
- 2022 KAKAO TECH INTERNSHIP
- IOS
- CloneCoding
- github
- Algorithm
- watchOS
- WWDC
- containerBackground
- RxCocoa
- APNS
- Swift
- projectsetting
- Objective-C
- configurable widget
- Notification
- Protocol
- WWDC22
- MVVM
- SwiftUI
- YPImagePicker
- MOYA
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 | 31 |
- Total
- Today
- Yesterday