Swift Style Guide (번역)
API Design Guidelines Fundamentals (기본 사항) 사용 시점의 명확성이 가장 중요한 목표입니다. 메서드나 프로퍼티와 같은 엔티티는 한 번만 선언되지만 반복적으로 사용됩니다. 이러한 사용처를 명확하고 간결하게 만들 수 있도록 API를 설계하세요. 설계를 평가할 때 선언문을 읽는 것만으로는 충분하지 않...
API Design Guidelines Fundamentals (기본 사항) 사용 시점의 명확성이 가장 중요한 목표입니다. 메서드나 프로퍼티와 같은 엔티티는 한 번만 선언되지만 반복적으로 사용됩니다. 이러한 사용처를 명확하고 간결하게 만들 수 있도록 API를 설계하세요. 설계를 평가할 때 선언문을 읽는 것만으로는 충분하지 않...
개요 Git - Submodules 프로젝트를 작업하다보면 그 안에서 다른 프로젝트를 사용해야하는 경우가 종종 있어요. 타사에서 개발한 라이브러리거나 별도로 개발하여 여러 상위 프로젝트에서 사용하고 있는 라이브러리일 수도 있죠. Git의 서브모듈을 사용하면 Git 레포지토리를 다른 Git 레포지토리의 하위 디렉토리로 유지할 수 있어요. 주요 ...
개요 깃에는 커밋을 합칠 수 있는 여러 키워드들이 있어요. 이번에는 가장 자주 사용되는 merge, rebase, squash 키워드와 그 차이들에 대해 알아봤어요. Merge 두 개의 branch를 합치는 과정이에요. 만약 feature branch에서 작업을 완료하고 이를 main branch에 합치려고 한다면 merge를 사용하게 돼요....
개요 Swift에서 convenience 초기화 메서드는 특정 클래스에 대한 보조 초기화 메서드를 제공하는 데 사용되는 메서드에요. 이번에는 convenience init이 무엇인지, 그리고 일반적인 init이 있는데 왜 convenience init을 사용하는 지에 대해 알아봤어요. convenience init convenience init...
개요 스위프트에서는 옵셔널을 처리하는 여러가지 방법을 제공해요. 어떤 방법들이 있고 각각 어떻게 사용하는지, 언제 사용하면 좋을지 간단하게 정리해봤어요. 옵셔널 바인딩 (Optional Binding) if let unwrappedValue = optionalValue { print("Value is \\(unwrappedValue)")...
개요 프로토콜과 익스텐션에서는 저장 프로퍼티를 사용할 수 없고, 계산 프로퍼티를 사용해야해요. 그럼에도 불구하고 저장 프로퍼티를 사용하고 싶다면 어떻게 할 수 있을까요? 이번에는 프로토콜과 익스텐션에서 저장 프로퍼티와 같은 효과를 볼 수 있는 방법에 대해 알아봤어요. protocol, extension에서의 stored property(저장 프...
개요 스위프트에서 weak와 unowned의 차이점으로 성능 차이가 많이 언급되는데요, 이번에는 weak와 unowned가 어떻게 동작하는지, 왜 성능 차이가 발생하는지에 대해 알아보려해요. 참조 카운트 스위프트는 ARC라는 자동 참조 카운팅을 사용하여 앱의 메모리 사용량을 추적하고 관리해요. 자세한 내용은 공식 문서에 나와있어요. 여기선 ...
개요 기본 클로저 매개변수는 non-escaping이 기본값이에요. 하지만 옵셔널 타입 클로저 매개변수는 escaping이 기본인데요, 그 이유에 대해 알아보려고해요. @escaping 먼저 @escaping 키워드의 히스토리에 대해 알아봤어요. @escaping 키워드는 Swift3부터 추가된 키워드에요. 이전에는 클로저가 escaping...
개요 스위프트에서 일반 클로저와 탈출 클로저에 대한 내용과 더불어 사용시 주의사항에 대해 정리해보려해요. 클로저란? Swift에서 클로저는 간단히 말하면 이름 없는 함수 또는 함수처럼 동작하는 코드 블럭이에요. 클로저는 함수와는 다르게 주변의 변수나 상수를 캡쳐할 수 있어서 그 변수나 상수의 값을 클로저 안에서 사용하거나 수정할 수 있어요. ...
개요 우리는 매일 수많은 이모지와 문자들을 마주하게 돼요. 하지만 이 모든 문자가 어떻게 표현되고 저장되는지에 대한 이해는 그다지 흔하지 않죠. 이 포스팅에서는 이모지와 같은 복잡한 문자들이 어떻게 유니코드를 통해 처리되는지 알아보겠습니다. 이모지와 유니코드 스칼라의 관계 특정 이모지는 여러 개의 이미지로 조합되어 표현되는데요, 이런 이모지 중 ...