일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 윈도우즈7
- mac
- WSDL
- 오브젝티브C
- c#
- windows
- 설치
- 애플
- 아이맥
- vs
- 사고
- install
- 윈도구7
- 링크
- ObjectiveC
- 형식
- Mobile
- screen
- Number
- 윈도구
- windows7
- 볼링
- 맥
- java
- WebService
- 비스타
- VISTA
- 아이폰
- Objective-C
- iPhone
Archives
- Today
- Total
A colossal Dreamer: GR鐵塔-天生我材
Swift PropertyWrapper 본문
괜찮은 도구: PropertyWrapper
@propertyWrapper public class PublishedBuffer<Buffer, Failure>
where Buffer: RandomAccessCollection & RangeReplaceableCollection, Failure: Error, Buffer.Index == Int {
public var wrappedValue: Buffer { ... }
public var projectedValue: PublishedBuffer<Buffer, Failure>.Publisher { ... }
public class Publisher: Combine.Publisher { ... }
}
하나의 선언으로 3가지 타입으로 접근이 가능함.
@PublishedBuffer<[Int], Error> var buffer: [Int]
아래와 같이 3가지 관점에서 접근이 가능하다.
1. buffer: [Int] // wrappedValue, 심지어 readonly 이다. !!
2. private _buffer: PublisehdBuffer<Int, Error>
3. $buffer: Publisher.Buffer<Int, Error>.Publisher // projectedValue
정의된 개체 외부에서도 buffer, $buffer 접근이 가능하다.
_buffer 는 private 으로 자동정의되며, 정의된 개체내부에서만 접근이 가능하다.
Sequential load로 버퍼를 채우고, (buffer)
채워진 버퍼를 Combine.Publisher 로 접근하고, ($buffer)
내부버퍼 제어를 위한 PublishedBuffer 접근 동작 (_buffer)
하나의 property 의 상이 2개 이상 필요할 때 아름답게 표현하고,
접근할 수 있다. !!
끝.!
참조:
https://quickbirdstudios.com/blog/swift-property-wrappers/
'Development > 아이폰' 카테고리의 다른 글
remove files from tracking git (0) | 2022.09.07 |
---|---|
Swift: getting Date Components (0) | 2022.07.18 |
WWDC2022 Platforms State of Unions 복습 정리 (0) | 2022.06.23 |
SwiftPlantUML - Swift코드로부터 PlantUML class diagram 뽑아재끼기 (0) | 2022.06.21 |
Publisher / Subscriber 의 매력 (0) | 2022.04.14 |