본문 바로가기

메모리2

Struct VS Class 메모리 관점 고찰과 언제 써야할까? Struct VS Class 성능 비교 메모리 저장 Swift의 struct와 class의 차이는 메모리의 여러 영역 중 Stack과 Heap에 관련되어 있다. struct → Stack 할당 (정적 할당 : 컴파일 시 크기 결정) class → Heap 할당 (동적 할당 : 런타임 시 동적으로 할당됨) Stack은 정적 타입으로 간단한 자료구조 형태를 가지며 O(1)의 시간복잡도를 가지고 간단하게 할당 해제할 수 있는 반면에 Heap은 메모리에 연속적으로 존재하지 않아 복잡한 과정을 거쳐 할당 해제 시 비용이 스택보다 더 크다. Dispatch https://bang-tori.tistory.com/77 접근제한자 정리 및 성능 향상 이유 + final 제한자 프로젝트를 진행할 당시 적절한 접근제한자를 .. 2024. 2. 28.
weak self 를 사용하지 않아도 되는 경우 결론적으로 클로저에서 weak self를 사용하지 않아도 되는 경우는 다음과 같은 두 가지가 있다. 1. non-escaping 클로저인 경우 2. DispatchQueue.main.asyncAfter 함수를 사용할 경우 escaping 클로저와 non-escaping 클로저 함수 파라미터로 전달된 클로저를 함수 실행이 종료된 후 실행되는 것을 함수를 탈출(escape)한다고 한다. 즉 escaping클로저는 파라미터로 전달된 클로저가 탈출하여 함수 종료 후에 실행되는 클로저를 의미한다. escaping non-escaping 실행 시점 함수 종료 후 함수 내에서 코드 호출 즉시 외부 저장 여부 가능 불가능 두 함수의 차이는 외부 저장 여부에 대해서도 다르다. non - escaping 클로저는 함수 외.. 2024. 2. 7.