일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- swiftUI
- UICollectionView
- SWIFT
- ios
- Xcode
- combine
- Refactoring
- swift documentation
- 애니메이션
- MVVM
- tableView
- 리팩토링
- ribs
- UITextView
- RxCocoa
- collectionview
- clean architecture
- 클린 코드
- Human interface guide
- rxswift
- 스위프트
- map
- Protocol
- Observable
- 리펙토링
- uitableview
- HIG
- uiscrollview
- 리펙터링
- Clean Code
- Today
- Total
목록computed property (7)
김종권의 iOS 앱 개발 알아가기
기초 개념) stored property와 computed property 메모리 관점 stored property - 별도의 메모리 공간 지정 o computed property - 별도의 메모리 공간 지정 x 사용 관점 stored property - 값을 저장 computed property - 접근하는 시점에 stored property들을 가지고 계산하여 반환 stored property를 사용할때 주의할 점 stored property를 사용하다보면 가장 큰 문제가, 상태 관리를 두 곳 이상에서 하는 경우가 발생 상태 관리를 두 곳 이상에서 하다보면 데이터 관리가 맞지 않아 코드 복잡도가 올라가는 현상이 발생 ex) 커스텀 뷰를 만드는데, ButtonWithImageView안에 또 다른 MyB..
Compueted Property Concept: 객체의 다른 property가 변경 될 수 없고, 다른 속성이 변경되지 않으면 다른 시간에 계산된 property 값은 동일한 출력을 제공 시간 복잡도가 O(1) 어떤 예외도 throw하지 않는 경우 계산 비용이 저렴 ex) struct Point { var x = 0.0, y = 0.0 } struct Size { var width = 0.0, height = 0.0 } struct Rect { var origin = Point() var size = Size() var center: Point { get { let centerX = origin.x + (size.width / 2) let centerY = origin.y + (size.height /..
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..
* computed property 개념: ios-development.tistory.com/298 computed property, @IBInspectable 기본 개념 computed property는 이미 메모리에 저장된 공간(변수)에 대한 계산을 통해 값 get/set하는 기능 @IBInspectable은 storyboard파일에서 attribute inspector 탭에서 접근 할 수 있게 속성을 코드로 정의하는 것 custom navigation bar 만들기 nib파일을 가지고 UIView를 만드는 커스텀 공통 함수 정의 참고: ios-development.tistory.com/311 nib 초기화 코드 구현 extension UIView { func loadViewFromNib(nib: S..
개념 차이 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..