일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스위프트
- combine
- MVVM
- Observable
- RxCocoa
- collectionview
- Protocol
- clean architecture
- HIG
- 리펙토링
- ribs
- ios
- Human interface guide
- swiftUI
- map
- tableView
- UICollectionView
- uitableview
- Clean Code
- 애니메이션
- swift documentation
- 리펙터링
- Xcode
- uiscrollview
- 리팩토링
- UITextView
- SWIFT
- Refactoring
- rxswift
- 클린 코드
- Today
- Total
목록stored property (5)
김종권의 iOS 앱 개발 알아가기
extension에서의 stored property extension에서는 stored property 선언이 불가능 불가능한 이유? 만약 가능하다면 Int와 같은곳에도 String같은 값을 stored property로 추가할수 있게되어, Int의 본질적인 상태(메모리 크기, 역할)을 extension으로 어디에서든지 변경하여 예측불가능한 코드가 될 수 있으므로 애초에 extension에서 stored property선언을 막은 것 AssociatedObject를 사용한 프로퍼티 추가 objective c에서 제공했던 setter, getter를 사용하여 swift의 extension에도 stored property 추가가 가능 정확히는 computed proprety를 만들지만, get, set할 때..
Stored Property vs Computed Property Stored Property는 초기화 값이 존재하는 프로퍼티 Computed Property는 최가화 값이 존재하지 않는 프로퍼티 - 예시) p1은 초기화 값이 존재하므로 Stored Property p2는 초기화 값이 존재하지 않으므로 Computed Property p3는 바로 초기화값이 존재하지 않지만 init구문에서 p3를 초기화해주므로 Stored Property class PropertyTest { // 1 var p1: Int = 1 // 2 var p2: Int { get { return p1 + 2 } set { print(newValue) } } // 3 var p3: Int { didSet { print(p3) } } ..
Stored Property 정의: class, struct에서 instantce의 일부로 저장되는 상수(let) 또는 변수(var) default 값 또는 init을 사용하여 값 할당 lazy property: 해당 property가 사용될 때 초기화 let으로 선언 불가: let은 초기화가 완료 되기 전에 항상 값을 가져야 하므로 property의 초기 값이 인스턴스의 초기화가 오나료 될 때까지 알 수 없는 외부 요인에 의존할 때 사용 property의 초기 값에 복잡하거나 계산 비용이 많이 드는 설정이 필요할 때 or 필요할 때까지 수행해서는 안되는 경우에 사용 lazy 주의 사항: lazy property는 여러 스레드에서 동시에 접근되고, 아직 초기화 되지 않은 경우 한 번만 초기화 된다는 보장..
Stored property vs Computed property stored property는 메모리를 먼저 정해진 후 대입하는 형태이므로, '=' 기호가 존재 computed property는 계산 후 메모리 공간 정해짐 '='기호가 존재하지 않음 class Sample { public let config: String = { return "sample" }() public let config2: String = { return "sample" } public let config3: String { return "sample" } public lazy var config4: String = { return "sample" }() public func config5() -> String { return..
개념 차이 stored property: 값을 메모리에 저장하는 용도 computed property: 이 자체는 값을 메모리에 저장해놓지 않고 필요할때 이미 메모리에 저장된 값(stored property)을 계산하여 get, set 하는 용도 computed proeprty가 stored property에 의존 '=' 기호로 값을 받으면 stored property, '='기호가 없으면 computed property stored property 기본형 let value = 3 주의: lazy var도 stored property임을 조심 (computed property가 아님) computed property는 이미 만들어진 stored property를가지고 get, set을 하지만 lazy v..