swift14 [Swift] ARC(Automatic Reference Counting) - 2 지난번에 ARC가 어떤 식으로 메모리를 관리하는지, 강한 참조 순환 문제는 어떻게 예방할 수 있는지에 대해 알아보았고, 이번에는 그 외의 공식문서상에 나와있는 내용들에 대해 공부해 보고자 한다. [Swift] ARC(Automatic Reference Counting) - 1 ✏️ ARC(Automatic Reference Counting) 참조 타입의 인스턴스는, 더 이상 참조되지 않을 때 적절히 메모리에서 해제해줘야 한다. 그렇지 않으면, 쓸모없는 메모리 공간을 낭비하게 되고 결국 앱의 성능 zzoo789.tistory.com ✏️ Unowned Optional References(미소유 옵셔널 참조) 이전에 공부한 내용으로는 미소유참조의 경우 옵셔널이 아닌 인스턴스를 참조할 수 있다고 했다. 그럼 .. 2022. 2. 9. [Swift] Protocol에 대하여 ✏️ Swift의 Protocol에 대하여 Swift는 프로토콜 지향 프로그래밍을 선호하기(?)에 이번에 공부할 프로토콜에 대해서는 정확하게 이해해야 할 것 같다! Protocol 이란? 공식문서에서는 이렇게 정의한다. 메서드, 프로퍼티, 또는 다른 요구사항들의 청사진 우리는 이 청사진이라는말을 또 사용한적이 있다. Type (class, struct등)이 어떤 인스턴스의 청사진이었다면, 바로 이 타입의 청사진이 프로토콜인 것이다. 그리고 어떤 타입이 그 청사진의 요구사항을 따른다면, 그 프로토콜을 채택(adopt)한 것이며, 그 프토콜을 준수한다(conform)고 표현한다. ✏️ Protocol정의의 기본 형태와 채택 protocol [프로토콜 이름] { // 정의 } 위와 같은 형태로 정의할 수 있으.. 2022. 1. 24. [TIL] 220120 - Swift ARC Swift는 ARC(Automatic Reference Counting)을 통해 메모리를 관리한다. 대충 비슷한 개념은 Java의 가비지컬렉션 메모리 관리 방식 참조 타입 인스턴스를 참조할 때 강한참조의 개수를 카운팅 하여 메모리를 관리 강한참조 카운트 개수가 1 이상인 경우 메모리에 할당, 0이면 메모리에서 해제하는 방식 -> 강한 참조 순환문제 발생 가능 -> 메모리 누수 발생 강한참조 순환 문제(Strong reference cycle)를 해결하기 위해 약한 참조(Weak reference), 미소유 참조(Unowned reference) 사용 가능 약한 참조 : 자동으로 nil을 할당할 가능성이 있기에 Optional value + 변수로 사용 미소유 참조 : 자동으로 nil을 할당해 주지 않기 .. 2022. 1. 21. [Swift] Extension(확장)에 대하여 ✏️ Extension❓ Swift의 Extension이란 이미 존재하는 class, structure, enumeration, protocol 타입에 새로운 기능을 추가하는 기능이다. Objective-C의 카테고리와 비슷하다는데... Swift의 Extension(확장)은 아래의 기능을 수행할 수 있다. Add computed instance properties and computed type properties (연산 인스턴스 프로퍼티 / 연산 타입 프로퍼티) Define instance methods and type methods (인스턴스 메서드 / 타입 메서드) Provide new initializers (새로운 생성자) Define subscripts (서브스크립트) Define and u.. 2022. 1. 17. 이전 1 2 3 4 다음