일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- tableView
- swiftUI
- collectionview
- SWIFT
- Human interface guide
- uiscrollview
- MVVM
- 애니메이션
- uitableview
- UICollectionView
- UITextView
- 스위프트
- 리팩토링
- HIG
- combine
- map
- swift documentation
- 클린 코드
- rxswift
- Xcode
- Refactoring
- ribs
- RxCocoa
- Clean Code
- 리펙토링
- Observable
- clean architecture
- ios
- 리펙터링
- Protocol
- Today
- Total
목록consuming (3)
김종권의 iOS 앱 개발 알아가기
1. noncopyable, ~Copyable - 개념 (Swift 5.9+, owner, ownership, 최적화)2. noncopyable, ~Copyable - 연산자 (borrowing, inout, consuming)~Copyable 연산자~Copyable을 사용하고 이 instance를 함수에서 주고 받을 때, 파라미터에 아무런 키워드를 사용하지 않으면 컴파일 에러가 발생struct A: ~Copyable { var age: Int deinit { print("deinit: A") }}class ViewController: UIViewController { var a = A(age: 1) override func viewDidLoad() ..
1. noncopyable, ~Copyable - 개념 (Swift 5.9+, owner, ownership, 최적화)2. noncopyable, ~Copyable - 연산자 (borrowing, inout, consuming)noncopyable, ~Copyable 이란?Swift5.9에서 탄생struct SomeStruct: ~Copyable { var name: String}enum SomeEnum: ~Copyable { case a}swift5.9 이전 swift 모든 타입들은 모두 copyable 타입 noncopyable은 swift5.9에서 enum과 struct에 적용 가능하도록 등장class 타입은 deinit이 있어서 이 deinit을 활용할 수 있지만, struct와 enu..
consume 개념swift5.9+"consume" 의미 그대로 lifetime을 중지한다는 의미a라는 프로퍼티를 consume 시키면사용하지 못함 (컴파일 에러 발생)var a = [1,2,3]var b = consume aprint(a) // 'a' used after consume프로퍼티를 copy하거나 write할때 최적화하기 위해 consume이 탄생일반적으로 CoW라고 명칭데이터를 복사하는 대신에 필요한 시점에서만 복사를 하기 때문에 메모리를 효율적으로 사용주로 대용량 데이터나 공유 자원을 다룰 때 유용ex) CoW 개념var b = a를 시도할때, b는 a의 데이터를 참조하고 있다가, 만약 b의 수정사항이 될땐 (b = 1), b가 자체 복사본을 만들어서 1의 값으로 변경하는 것메모리를 효..