
Xcode Build System 이란? iOS, macOS 개발에 사용되는 언어 처리 시스템. 임의의 프로그래밍 언어로 작성된 명령어들을 실행가능한 프그로램으로 바꿔주는 역할을 함. Xcode Build System 의 처리 단계 전처리기(Preprocessor) 컴파일러(Compiler) 어셈블러(Assembler) 링커(Linker) 로더(Loader) Xcode Build System 은 위의 단계들을 거쳐 코드를 실행 가능한 파일로 변환. 전처리기(Preprocessor) 전처리기는 프로그램을 컴파일러에 입력할 수 있는 형태로 변환하는 역할을 함. ObjC 의 경우 컴파일러가 전처리기를 갖으므로 전처리 단계에서 종속성 해석, 매크로 재정의 가 이루어짐. Swift 의 경우 컴파일러는 기본적으로 ..
Mach 파일 Mach-O는 macOS, iOS 및 기타 Apple 운영 체제에서 사용되는 실행 파일 형식입니다. Mach 커널과 연관된 macOS의 동적 로딩 시스템을 지원하도록 설계되었으며, 컴파일된 코드, 데이터 및 기타 리소스를 포함하고, macOS 및 iOS 앱을 실행하는 데 사용됩니다. Mach-O 파일은 여러 섹션으로 구성되어 있으며, 각 섹션은 특정 유형의 데이터를 포함하고, 일반적으로 텍스트 섹션, 데이터 섹션, BSS 섹션, 로드된 섹션 및 기타 섹션으로 구성됩니다. 텍스트 섹션은 실행 코드를 포함. 데이터 섹션은 초기화된 전역 및 정적 변수를 포함. BSS 섹션은 초기화되지 않은 전역 및 정적 변수를 포함. 로드된 섹션은 동적으로 로드되는 라이브러리 코드를 포함.

순환참조란? 두 개 이상의 인스턴스가 서로에 대한 Strong Reference(강한 참조)를 가지고 있는 상태 순환 참조가 발생하게 되면 서로에 대한 참조가 해제되지 않기 때문에 메모리에서 유지되며 이로 인해 메모리 릭이 발생하게 된다. 왼쪽 그림에서 변수 a, b 가 각각 Class A의 인스턴스와 Class B 의 인스턴스를 참조하고 있다. 오른쪽 그림에서 변수 a, b 에게 nil을 할당하여 참조를 제거하였지만 두 인스턴스는 여전히 ARC가 0이 되지 못하여 메모리에 남아 있다. 해결 방안은? 이러한 순환 참조를 해결하기 위해 weak, unowned reference (약한, 무소유 참조) 가 사용된다. weak, unowned 참조 weak, unowned 참조는 모두 인스턴스에 대한 강한 참..

Life Cycle정리 아이폰 OS에서 어플리케이션의 상태는 위와 같이 정리된다. Not Running : 말 그대로 어플리케이션이 작동 중이지 않은 상태로 메모리에도 올라가 있지 않다. Foreground : 앱이 메모리 상에 존재하고 화면을 점유하고 있는 상태. -active : 앱이 유저의 화면을 대부분 점유하여 모든 기능이 완전히 제어 가능한 상태. -inactive : 앱이 외부요인(문자, 카톡, 전화 등)으로 인해 일부 기능의 제어권을 잃은 상태. 길지 않음. Background : 앱이 메모리 상에 존재하고 화면을 점유하고 있지 않은 상태. -suspend : 앱이 'Background'에서 아무 동작도 하고 있지 않는 상태. // 메모리가 부족하거나 너무 오랜 시간 아무 작업도 하지 않게 ..
- Total
- Today
- Yesterday
- 클린 코드 줄거리
- clean code 정리
- 프로그래머스
- 순환참조
- CLANG
- 메모리 순환참조
- 생명 주기
- 의존성
- 주입
- clean code
- Swift
- XCFramework
- 단어변환
- BFS
- 여행경로
- dfs
- 면접질문
- 클린 코드
- XcodeBuildSystem
- 이분탐색
- 전처리기
- SwiftUI
- swiftc
- ios simulator
- 클린 코드 정리
- 링커
- ios
- 학교 과제
- 알고리즘
- 의존관계역전법칙
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |