ν°μ€ν 리 λ·°
[iOS/Swift] νλ‘νΌν°(Properties) μμ보기(μ μ₯ νλ‘νΌν°)-(1/3)
Neoguriπ¦ 2022. 5. 30. 23:01

μλ νμΈμ? λꡬ리μ λλ€!!
κ°λ°μ νλ©΄μ μ©μ΄κ° ν·κ°λ¦¬λ κ²λ€μ΄ μλλ°
κ·Έμ€μ νλκ° νλ‘νΌν° λλΌκ΅¬μ!!
κ·Έλμ μ€λμ νλ‘νΌν°(properties)μ λν΄ μμ보λλ‘ ν κ²μ!
νλ‘νΌν°λ?
νλ‘νΌν°λ λ§μ΄ λ€μ΄λ³΄μ ¨μκ±°μμ..
ν΄λμ€λ ꡬ쑰체 λ΄λΆμ μ μΈλμ΄ μλ λ³μλ μμλ‘ λ§μ΄ μκ°νμ€κ±°μμ!!
μ.. λ§λ λ§μ΄κΈ΄ νλ°
그건 νλ‘νΌν° μ€μμ μΌλΆμ λλ€!
μΌλΆλΌλ λ§μ...
λ€ νλ‘νΌν°λ μ¬λ¬ μ’ λ₯κ° μλλ°μ~~
1. μ μ₯ νλ‘νΌν°
2. μ°μ° νλ‘νΌν°
3. νμ νλ‘νΌν°
ν¬κ² 3κ°μ§ μ’ λ₯μμ!
μ€λμ μ μ νλ‘νΌν°μ λν΄ μμλ³Όκ²μ!
( μ°μ° νλ‘νΌν°λ λ μμΈν λ€λ£¨κ³ μΆμ΄μ λ€μμ΄...γ )
μ μ₯ νλ‘νΌν°(Stored Properties)
μ μ₯ νλ‘νΌν°...
λκ° μ΄λ¦μμ 무μΈκ°λ₯Ό μ μ₯νκ³ μλ λλ..
μ μ₯ νλ‘νΌν°λ μ¬λ¬λ³Έμ΄ μ μμλ ν΄λμ€λ ꡬ쑰체 μΈμ€ν΄μ€μ
μ μΈ λμ΄μλ λ³μλ μμμ λλ€!
λ³μλ varλ‘, μμλ letμΌλ‘ μ μΈλμ΄ μλκ±° λ€λ€ μμμ£ ?
νλ² μ½λλ‘ νμΈν΄ λ³Όκ²μ!
μμ λ₯Ό νλ² λ§λ€μ΄λ΄€μ΄μ~
λ¨Όμ ꡬ쑰체μμ νλ‘νΌν° μ λλ€.
λ¨Όμ νλ‘νΌν°λ₯Ό μ μΈν λ μ΅μ λλ‘ μ μΈν κ²½μ°
myFriend μΈμ€ν΄μ€ μ²λΌ μ΄κΈ°ν ν λ μ΄κΈ°κ°μ μ ν΄μ£Όμ§ μμλ λ©λλ€.
BestFriendμ μΈμ€ν΄μ€ myFriendμμ
μΉκ΅¬ μ΄λ¦κ³Ό λμ΄μ μ κ·Όνμ¬ μμ ν΄ λ³΄μμ΅λλ€.
νλ‘νΌν°κ° λ³μλ‘ μ μΈλμ΄ μμΌλ©΄ μμ μ΄ κ°λ₯νλ°
μμλ‘ μ μΈλμ΄ μμΌλ©΄ μμ μ΄ λΆκ°λ₯ν΄μ!!
λ μΈμ€ν΄μ€κ° letμΌλ‘ μ μΈλμ΄ μμΌλ©΄
λ§μ°¬κ°μ§λ‘ μμ μ΄ λΆκ°ν©λλ€.γ γ
λ€μμ ν΄λμ€μ μ μ₯ νλ‘νΌν°λ‘ λμ΄κ° λ³Όκ²μ!!
λ¨Όμ ν΄λμ€μ μ μ₯ νλ‘νΌν° μ€ μ΅μ λ μ²λ¦¬λ₯Ό μν νλ‘νΌν°λ
λ°λμ μ΄κΈ°νλ₯Ό ν΄μ£Όμ΄μ¬ ν©λλ€.
ν΄λμ€ μΈμ€ν΄μ€λ₯΄ 보면
varλ‘ μ μΈλμ΄ μλ μΈμ€ν΄μ€μ νλ‘νΌν°λ₯Ό μ κ·Όν΄μ μμ ν΄ λ³΄μλλ°
varλ‘ μ μΈλμ΄ μλ μΈμ€ν΄μ€λ μμ μ΄ λκ³
letμΌλ‘ μ μΈλμ΄ μμ μΈμ€ν΄μ€λ μμ μ΄ μλλ κ²μ λ³Ό μ μμ£ ?
μ΄λ²μλ μΈμ€ν΄μ€λ₯Ό letμΌλ‘ μ μΈν΄ λ³Όκ²μ~
ν΄λμ€ μΈμ€ν΄μ€κ° letμΌλ‘ μ μΈλμ΄ μλλΌλ
νλ‘νΌν°κ° varλ‘ μ μΈλμ΄ μμΌλ©΄ μμ κ°λ₯ν©λλ€!!
μ λ² ν΄λμ€μ ꡬ쑰체 μ°¨μ΄ μκ°μ λ°°μ μμ£ ?
ν΄λμ€λ κ°νμ μ΄μ¬μ μμ μ΄ κ°λ₯νλ€κ³ ~~
(μ λͺ¨λ₯΄μλ©΄ κ²μκΈ μ°Έκ³ !!)
μ§μ° μ μ₯ νλ‘νΌν°(Lazy)
Lazyλ... λκΉμ?
κ²μΌλ₯΄λ€λ λ»μ΄κΈ΄ νλ°... μ..
νλ² μμλ³Όκ²μ!
Swift 곡μ λ¬Έμμλ
μ²μ μ¬μ©λ λκΉμ§ μ΄κΈ°κ°μ κ³μ°λμ§ μλ νλ‘νΌν°
λΌκ³ λμ€λ€μ~
μ... κ·ΈλΌ lazy λΌλ μμμ΄λ₯Ό λΆμ΄λκ² λμ€μ κ³μ°μ ν΄μ£Όμ΄μ κ·Έλ°κ±°κ΅°μ!
swift 곡μλ¬Έμμ μ½λλ₯Ό 보면μ μ’λ μ΄ν΄λ³Όκ²μ!
class DataImporter {
var filename = "data.txt"
// the DataImporter class would provide data importing functionality here
}
class DataManager {
lazy var importer = DataImporter()
var data = [String]()
// the DataManager class would provide data management functionality here
}
let manager = DataManager()
manager.data.append("Some data")
manager.data.append("Some more data")
// the DataImporter instance for the importer property has not yet been created
μ½λλ₯Ό 보μλ©΄ DataManagerν΄λμ€μ μΈμ€ν΄μ€ managerκ° μμ±λμλλ°
μ§μ° μ μ₯ νλ‘νΌν°μΈ importerλ₯Ό νΈμΆνμ§ μκ³ μμ΅λλ€.
μ΄λ κ² λλ©΄ importer μμ±λμ§ μμκ²λλ€.
μμΌκΉμ?
λ°λ‘ lazy varλ‘ μ μΈνκΈ° λλ¬Έμ κ·Έλ μ΅λλ€.
μ΄νμ importerλ₯Ό νΈμΆνλ€λ©΄ κ·ΈλμμΌ μμ±μ΄ λλκ±°μ£ !!
κ·ΈλΌ κ΄μ μ μ΄λ κ² λ³Ό μ μμ΅λλ€.
λ΄κ° μ¬μ©νκΈ° μ κΉμ§ νλ‘νΌν°μ λν΄ κ³μ°μ΄ μλλ€!
κ·ΈλΌ κ°μ΄ μ무κ²λ μλ€κ° λ΄κ° νΈμΆνλ©΄ κ·Έ κ°μ΄ κ³μ°λμ΄ λ³νλ€λ κ΄μ μΌλ‘λ λ³Ό μ μμ£ ?
λ€!! κ·Έλμ μ μ₯ μ§μ° νλ‘νΌν°λ
varλ‘λ§ μμ±ν μ μμ΅λλ€!!
μ?? κ°μ΄ λ³ν΄μΌ νλκΉ!!
μ§μ° νλ‘νΌν°λ μΈμ€ν΄μ€μ μ΄κΈ°νκ° μλ£λ λκΉμ§
κ°μ μ μ μλ μΈλΆ μμΈμ μΈν΄ μ΄κΈ°κ°μ΄ λ¬λΌμ§ λ μ μ©ν©λλ€.
μ¦, νλ‘νΌν°λ₯Ό μΈμ§ μ μΈμ§,
νΉμ λ€λ₯Έ νλ‘νΌν°κ°μ΄ μ΄κΈ°κ°μ΄ νμν λ κΉμ§μν νλ©΄ μλκ±°λ,
볡μ‘ν κ³μ°μ νλ νλ‘νΌν°λ₯Ό μ¬μ©ν λ μμ£Ό μ¬μ©ν©λλ€.
μ₯μ μ΄ μλ€λ©΄ λ¨μ λ μκ² μ£ ?
μ§μ° νλ‘νΌν°λ μ¬λ¬ μ°λ λμμ λμμ μ κ·Όλκ³ νλ‘νΌν°κ° μμ§ μ΄κΈ°νλμ§ μμ κ²½μ°
νλ‘νΌν°κ° νλ²λ§ μ΄κΈ°ν λλ€λ 보μ₯μ΄ μκΈ° λλ¬Έμ μ‘°μ¬ν΄μ μ¨μΌ ν©λλ€.
μ? μ¬λ¬λ² μ΄κΈ°ν νλ©΄ μμ λλΉλκΉμ~
μ€λμ μ μ₯ νλ‘νΌν°μ λν΄ μμλ΄€μ΄μ!
κΈ μ½μ΄ μ£Όμ μ κ°μ¬ν©λλ€!!
'iOS > Swift' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| [iOS/Swift] νλ‘νΌν°(Properties) μμ보기(νμ νλ‘νΌν°) - (3/3) (0) | 2022.06.03 |
|---|---|
| [iOS/Swift] νλ‘νΌν°(Properties) μμ보기(μ°μ° νλ‘νΌν°) - (2/3) (0) | 2022.06.01 |
| [iOS/Swift] ꡬ쑰체(struct)μ ν΄λμ€(class)μ μ°¨μ΄ μμ보기! (0) | 2022.05.29 |
| [iOS/Swift] Closure(ν΄λ‘μ ) μμ보기 (0) | 2022.05.27 |
| [iOS/Swift] Switch case λ¬Έ μμ보기! (0) | 2022.05.26 |
- Total
- Today
- Yesterday
- μ€ν λ μ΄μμ
- swift urlsession
- νλ‘νΌν°
- ν μ€νΈ
- μ€μννΈ νλ‘ν μ½
- Unit Test
- νλ‘ν μ½
- ios
- autolayout
- μ€μννΈ κ³΅λΆ
- test
- RxSwift
- URLSession
- Clean
- XCTest
- swift 곡λΆ
- RX
- μ€μννΈ
- μ€μννΈ map
- 곡λΆ
- swift νλ‘ν μ½
- Protocol
- network
- Property
- swift
- xcode
- set
- func
- observable
- Swift Network
| μΌ | μ | ν | μ | λͺ© | κΈ | ν |
|---|---|---|---|---|---|---|
| 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 |