Swift Copy-on-Write, 값 타입이 프로토타입 패턴을 대체하는 방식 (개념 정리)
Swift Copy-on-Write는 값 타입을 대입할 때 저장소를 공유하고, 한쪽이 수정되는 순간에만 실제 복사합니다. 이 최적화가 값 의미를 지키면서 프로토타입 패턴의 역할을 줄이는 원리를 설명합니다.
읽어보기LANGUAGE · 52 ARTICLES
Swift 언어 글을 최신순으로 이어서 살펴봅니다.
전체 글
Swift Copy-on-Write는 값 타입을 대입할 때 저장소를 공유하고, 한쪽이 수정되는 순간에만 실제 복사합니다. 이 최적화가 값 의미를 지키면서 프로토타입 패턴의 역할을 줄이는 원리를 설명합니다.
읽어보기iOS 크래시 로그에서 가장 자주 만나는 문장 중 하나가 unrecognized selector sent to instance입니다.
읽어보기Swift로 코드를 쓰다 보면 한 번쯤 궁금해지는 순간이 옵니다. 옵셔널은 왜 이렇게 깐깐할까, 배열은 왜 복사될까, guard는 왜 있을까. 이런 질문들을 하나씩 파고들다 보면 결국 한 지점에서 만나게 됩니다. Swift가 처음부터 내걸었던 세 가지 목표, Safe(안전하게),…
읽어보기Swift String이 정수 인덱스를 허용하지 않는 이유를 확장 그래핌 클러스터에서 출발해 설명합니다. 한글 조합형 문자열의 Character·Unicode scalar·UTF-8 차이를 직접 실행한 결과로 확인합니다.
읽어보기Objective-C 코드에서 대괄호로 감싼 [receiver message] 구문, 겉보기엔 그냥 메서드 호출처럼 보입니다.
읽어보기참조 복사, 얕은 복사, 깊은 복사는 새로 만드는 데이터의 범위가 다릅니다. Swift 값 타입 안에 참조 타입이 있을 때의 함정과 Copy-on-Write가 독립 복사를 지키는 방식을 설명합니다.
읽어보기Swift의 에러 처리 도구는 실패를 다루는 시점과 보존할 정보에 따라 역할이 나뉩니다. throws·do-catch·try?·try!·Result 중 무엇을 고를지 실행 결과와 함께 정리합니다.
읽어보기Swift guard는 실패 조건을 먼저 처리하고 정상 흐름을 평평하게 유지합니다. if와 다른 컴파일러 보장, optional binding의 유효 범위, return·throw·continue 선택 기준을 실행 예제로 확인합니다.
읽어보기