![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/ck1bLV/btqDjGx7zJV/3vYSek6QdR8wvdukVLxwRk/img.png)
Unowned References and Implicitly Unwrapped Optional Properties 미소유 참조, 암시적 언래핑 옵셔널 프로퍼티들 이전 포스팅에서 언급 된 강한순환참조 문제의 해결이 필요했던 다양한 보편적 시나리오들은 weak, unowned 참조에대한 활용예시를 보여주었습니다. Person, Apartment 예시를 다룬 포스팅에서는 nil이 되는 것이 허용 된 두 프로퍼티에서의 상황을 보여주었습니다. 이는 약한참조를 통해 해결될 수 있는 최상의 시나리오 였습니다. Customer와 CreditCard 예시를 다룬 포스팅에서는 단 하나의 프로퍼티가 nil 처리가 될 경우 강한순환참조가 발생할 수 있는 상황(Customer 인스턴스의 멤버, card 프로퍼티에서 Custom..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/czeuRq/btqDkz6eVmE/UGa20T19Zzhtgz7lDzpFv1/img.png)
Unowned References 미소유 참조 약한참조(weak reference)와 같이, 미소유 참조(unowned reference) 또한 참조하는 인스턴스를 강하게 참조하지 않습니다.(참조할때 weak과 동일하게 RC(Reference Count)를 증가시키지 않습니다.) 다만 약한 참조와의 차이점은 참조하려는 다른 인스턴스가 본인과 생애주기가 같거나 더 길 경우에 사용됩니다. unowned 키워드를 프로퍼티나 변수 선언부 앞에 놓아 사용할 수 있습니다. 미소유참조(unowned reference)는 항상 값이 있는 것으로 간주합니다. 그 결과, ARC는 미소유 참조의 값을 nil로 설정하지 않습니다. 이는 미소유 참조의 값이 옵셔널값이 아닌 것(non-optional)으로 정의됨을 의미합니다. ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cmuUNE/btqDj3yISrU/626iypaFsqQMGHhhAvsrk0/img.png)
Resolving Strong Reference Cycles Between Class Instances 클래스 인스턴스 사이의 강한참조순환 문제 해결하기 weak, unowned 참조는 참조순환 내에 있는 인스턴스를 다른 인스턴스에 대해 강한 참조로 잡고 있지 않도록 할 수 있습니다. 그렇게 되면 인스턴스들은 서로를 참조할 때 강한참조순환 문제가 발생하지 않으면서 참조할 수 있게 됩니다. 참조하는 인스턴스가 짧은 생애주기를 갖는다면, 해당 인스턴스가 가장 먼저 해제 된다면, weak 참조를 사용하세요. 이전 포스팅에서 다루었던 상황에서의 Apartment 예시를 볼 때, apartment 인스턴스의 생애주기 간 tenant 가 없을 수 있기때문에, 참조순환을 방지 하기 위해 weak 참조를 사용하는 것이..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/nP9sI/btqDj2lusvg/EjqJA20MHTqqfFyMofCIQ1/img.png)
Strong Reference Cycles Between Class Instances 클래스 인스턴스 간의 강한 순환참조 문제 지난번 다룬 ARC, strong 참조 관련 포스팅에서 보셨듯이, ARC는 당신이 생성한 새로운 Person 인스턴스 참조의 갯수를 추적할 수 있었습니다. 또한, 해당 인스턴스가 더이상 사용되지 않을 경우, 메모리에서 해제할 수도 있었습니다.그러나, 클래스 인스턴스가 강한참조의 카운트가 0이 되는 시점을 절.대.로 얻지 못하는 코드를 작성할 가능성이 있습니다. 이는 두개의 클래스 인스턴스들이 서로를 붙잡고 있을때 발생할 수 있습니다. 이때 두개의 인스턴스는 서로 계속 메모리상에서 유지됩니다. 이런 상황을 강한순환참조(Strong Reference Cycle) 라고 합니다.강한순환..
- Total
- Today
- Yesterday
- swift
- publisher
- Collection
- ios
- swift문제
- 컬렉션
- 프로토콜
- swift 문자열
- 프로그래머스swift
- 백준알고리즘
- 알고리즘문제
- 알고리즘
- 백준swift
- 개발자문서
- 프로그래머스
- SwiftUI
- 부스트코스
- swift 기초
- createML
- Protocol
- 자연어처리
- swift string
- uikit
- Swift 알고리즘
- 스위프트
- swift reduce
- swift알고리즘
- swift언어
- CoreML
- 김프매매
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |