didSet์ ์ด์ฉ๋ค ๋ง๋๊ฒ ๋๋๋ฉด,
๋ด๊ฐ ์ฐธ์ฌํ๊ณ ์๋ iOS ์คํฐ๋์์ ๋งก์ ํํธ๋ฅผ ๊ตฌํํ๋ค ๋ง๋๊ฒ ๋์๋ค.
๋ด๊ฐ ๊ฐ๋ฐํด์ผ ํ๋ ๋ถ๋ถ์ ๋ค์๊ณผ ๊ฐ๋ค.
1. ํ์ดํ ๋ฒํผ์ ๋๋ฌ ๋ ์ง๋ฅผ ๋ฐ๊พผ๋ค.
2. ๋ ์ง๊ฐ ๋ฐ๋ ๋๋ง๋ค data filter์ ๊ธฐ์ค ๋ ์ง๋ฅผ ์ ํ๋ ๋ ์ง๋ก ๋ฐ๊ฟ์ค๋ค.
3. ๋ฐ๋ filter์ ๋ ์ง์ ๋ฐ๋ผ ์ด์ ๋ง๊ฒ filtering ๋ ๋ฐ์ดํฐ๋ค์ ๋ณด์ฌ์ค๋ค.
์ด๋ ๋ฐ์ดํฐ๋ฅผ ๋๊ธฐ๊ณ , ํ๋ฉด์ ๋ค์ ๊ทธ๋ฆฌ๋ ๊ณผ์ ์์ ์๊ฐ๋ ๊ฒ์ delegate ๋ฐ์ ์์๋ค.
ํ์ง๋ง ๋ฐ์ดํฐ๋ฅผ ๋๊ฒจ๋, ํ๋ฉด์ด ๋ค์ ๊ทธ๋ ค์ง์ง๋ ์์๋ค.
๊ทธ๋ฌ๋ค ์๊ฒ ๋ ๊ฒ์ด didSet์ด๋ค.
didSet์ด๋
๊ฐ๋จํ๊ฒ ์ด์ผ๊ธฐํ๋ฉด, ํ๋กํผํฐ์ ๊ฐ์ด ์๋ก ์ค์ ๋ ํ ํธ์ถ๋๋ ์ฝ๋์ด๋ค.
์ฆ, ๊ฐ์ด ๋ฐ๋๊ณ ์ด์ ๋ํด ํ๋ฉด์ ๋ค์ ๊ทธ๋ ค์ค์ผ ํ๋ ๋์๊ฒ๋ ๊ผญ ํ์ํ ๋ถ๋ถ์ด์๋ค.
didSet์ ์ค์ ํ๋ฉด, ๊ฐ์ด ๋ฐ๋ ๋๋ง๋ค ์๋์ผ๋ก ์ด ๋ถ๋ถ์ด ํธ์ถ๋๋ค๊ณ ํ๋ค.
์ด๋ป๊ฒ ์ฌ์ฉํ๋๋ฉด
var dateSend: Date = Date() {
didSet {
updateUI(for: dateSend)
}
}
์ด๋ ๊ฒ, ํ๋กํ ์ฝ๋ก ๋ฐ์ dateSend์ ๊ฐ์ด ๋ฐ๋ ๋๋ง๋ค ์คํ๋ผ์ผ ํ๋ ํ๋ฉด์ด ๋ฐ๋๋ updateUI ํจ์๋ฅผ ํธ์ถํด์ค๋ค.
์ฌ์ค ๋์ค์๋ reloadํจ์๋ฅผ ์จ์ ๊ทธ๋ฅ collectionView์ cell์ ์ ๋ฐ์ดํธํ๋ ๋ฐฉ์์ ํํ๊ฒ ๋ผ์ ์ด didSet์ ์ฌ์ฉํ์ง ์์์ง๋ง, ์ด๋ฐ ์น๊ตฌ๋ ์๊ตฌ๋ ~~ ํ๋ ์ค์ํ ์ฌ์ค์ ๋ฐฐ์ฐ๊ฒ ๋์๋ค.
'๐ Swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swift] Main storyboard์ Launch storyboard ์ฐจ์ด (4) | 2024.03.16 |
---|---|
[swift] R.swift ์ค์นํ๊ธฐ (0) | 2024.02.23 |
[swift] xcode์์ ์์ ํ๋ ํธ ๋ณด๊ธฐ (2) | 2023.10.01 |
Swift Data์ ๋ํ์ฌ [๊ณต์๋ฌธ์ ๊ธฐ๋ฐ] (0) | 2023.07.04 |
[swiftUi] Text align ์์น ์ ํ๊ธฐ (0) | 2023.06.03 |