iOS 개발 23

[Swift] ARC (2/2)

[Swift] ARC (2/2) [Swift] ARC (1/2) 보러가기 [Swift] ARC (1/2) [Swift] ARC (Automatic Reference Counting) 앱의 메모리 사용량을 추적하고 관리 어떠한 클래스 인스턴스가 더 이상 필요하지 않을 때 인스턴스에 할당된 메모리 자동해제 Reference Type 인 클래스 인스턴스 trumanfromkorea.tistory.com 클로저에 대한 강한 참조 사이클 (순환 참조) 순환 참조는 클래스 인스턴스의 프로퍼티에 클로저를 할당하고 해당 클로저의 바디에 인스턴스를 캡처하는 경우에도 발생할 수 있습니다. 클로저의 바디에서 self.someProperty 와 같이 인스턴스의 프로퍼티에 접근하거나 self.someMethod() 와 같이 인..

iOS 개발/Swift 2022.04.29

[Swift] ARC (1/2)

[Swift] ARC (Automatic Reference Counting) 앱의 메모리 사용량을 추적하고 관리 어떠한 클래스 인스턴스가 더 이상 필요하지 않을 때 인스턴스에 할당된 메모리 자동해제 Reference Type 인 클래스 인스턴스에만 적용. Value Type 에는 해당되지 않음 동작 방식 클래스가 새 인스턴스를 생성할때마다 ARC 는 메모리 할당 인스턴스의 메모리가 해제되면 더 이상 해당 인스턴스에 접근 불가능 그래서 ARC 는 인스턴스가 언제까지 필요한지 알기 위해 인스턴스를 참조하는 프로퍼티, 상수, 변수의 수를 추적함 클래스 인스턴스를 할당하기 위해 변수를 3개 선언하고, 나중에 nil 을 할당하여 해제해주기 위해 Optional 로 선언합니다. reference1 변수에 클래스 인..

iOS 개발/Swift 2022.04.29

[Swift] 클로저 (Closures)

Closure 란? 사용자의 코드 안에서 전달되어 사용할 수 있는 로직을 가진 코드 블럭 1급 객체의 역할을 할 수 있음 1급 객체란 전달 인자로 보낼 수 있고, 변수/상수 등으로 저장하거나 전달할 수 있으며 함수의 리턴값이 될 수도 있음 함수 또한 클로저의 한 형태로, 이름이 있는 클로저 참조 타입 Closure 의 형태 전역 함수는 이름을 가지고 어떠한 값도 캡쳐하지 않는 클로저 중첩 함수는 이름을 가지고 둘러싼 함수로부터 값을 캡쳐할 수 있는 클로저 클로저 표현식은 주변 컨텍스트에서 값을 캡쳐할 수 있는 경량 구문으로 작성된 이름이 없는 클로저 Closure Expressions 클로저 표현식 (Closure Expressions) 은 간단하고 집중적인 구문으로 인라인 클로저를 작성하는 방법입니다...

iOS 개발/Swift 2022.04.22