[iOS] didSet ์ด๋ž€?

2024. 1. 18. 15:42ยท๐ŸŽ iOS
728x90
๋ฐ˜์‘ํ˜•
728x90
๋ฐ˜์‘ํ˜•

 

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์€ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์ง€๋งŒ, ์ด๋Ÿฐ ์นœ๊ตฌ๋„ ์žˆ๊ตฌ๋‚˜ ~~ ํ•˜๋Š” ์ค‘์š”ํ•œ ์‚ฌ์‹ค์„ ๋ฐฐ์šฐ๊ฒŒ ๋˜์—ˆ๋‹ค.

 

 

 

 

 

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•

'๐ŸŽ iOS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[iOS] Main storyboard์™€ Launch storyboard ์ฐจ์ด  (4) 2024.03.16
[iOS] R.swift ์„ค์น˜ํ•˜๊ธฐ  (0) 2024.02.23
[iOS] xcode์—์„œ ์ƒ‰์ƒ ํŒ”๋ ˆํŠธ ๋ณด๊ธฐ  (2) 2023.10.01
[iOS] Swift Data์— ๋Œ€ํ•˜์—ฌ [๊ณต์‹๋ฌธ์„œ ๊ธฐ๋ฐ˜]  (0) 2023.07.04
[swiftUi] Text align ์œ„์น˜ ์ •ํ•˜๊ธฐ  (0) 2023.06.03
'๐ŸŽ iOS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [iOS] Main storyboard์™€ Launch storyboard ์ฐจ์ด
  • [iOS] R.swift ์„ค์น˜ํ•˜๊ธฐ
  • [iOS] xcode์—์„œ ์ƒ‰์ƒ ํŒ”๋ ˆํŠธ ๋ณด๊ธฐ
  • [iOS] Swift Data์— ๋Œ€ํ•˜์—ฌ [๊ณต์‹๋ฌธ์„œ ๊ธฐ๋ฐ˜]
coram22
coram22
  • coram22
    ram2 ๐Ÿš—
    coram22
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (86)
      • ๐Ÿ’ง flutter (22)
      • ๐ŸŽ iOS (18)
      • ๐Ÿฉต CosPro (4)
        • python 2๊ธ‰ (4)
      • ๐Ÿˆ‍โฌ› git (3)
      • ๐Ÿ–ฅ๏ธ react (6)
      • ๐Ÿพ OS (1)
      • ๐Ÿ›œ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ (6)
      • ๐ŸŒƒ computer vision (6)
      • ๐Ÿ“š ๋ฐฑ์ค€ (11)
      • ๐Ÿฃ My Story (1)
      • ๐Ÿ’ป else (8)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ๐Ÿˆโ€โฌ› github ๐Ÿˆโ€โฌ›
    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

    • ๐Ÿฑ Github ๐Ÿฑ
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    Computer Vision
    React
    UIKit
    FLUTTER
    SwiftUI
    IOS
    ์˜ค๋ธ”์™„
    OpenCV
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    ์ •๋‹ต
    Git
    Swift
    ๊ณต์‹๋ฌธ์„œ
    Python
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    Xcode
    ์ค‘๋„ํœดํ•™
    2๊ธ‰
    ์ปด๋„ค
    dart
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
coram22
[iOS] didSet ์ด๋ž€?
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”