스위프트에서 옵셔널을 처리하는 방법
개요 스위프트에서는 옵셔널을 처리하는 여러가지 방법을 제공해요. 어떤 방법들이 있고 각각 어떻게 사용하는지, 언제 사용하면 좋을지 간단하게 정리해봤어요. 옵셔널 바인딩 (Optional Binding) if let unwrappedValue = optionalValue { print("Value is \\(unwrappedValue)")...
개요 스위프트에서는 옵셔널을 처리하는 여러가지 방법을 제공해요. 어떤 방법들이 있고 각각 어떻게 사용하는지, 언제 사용하면 좋을지 간단하게 정리해봤어요. 옵셔널 바인딩 (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에서 클로저는 간단히 말하면 이름 없는 함수 또는 함수처럼 동작하는 코드 블럭이에요. 클로저는 함수와는 다르게 주변의 변수나 상수를 캡쳐할 수 있어서 그 변수나 상수의 값을 클로저 안에서 사용하거나 수정할 수 있어요. ...
개요 우리는 매일 수많은 이모지와 문자들을 마주하게 돼요. 하지만 이 모든 문자가 어떻게 표현되고 저장되는지에 대한 이해는 그다지 흔하지 않죠. 이 포스팅에서는 이모지와 같은 복잡한 문자들이 어떻게 유니코드를 통해 처리되는지 알아보겠습니다. 이모지와 유니코드 스칼라의 관계 특정 이모지는 여러 개의 이미지로 조합되어 표현되는데요, 이런 이모지 중 ...
개요 Swift의 발전은 몇 가지 핵심 철학에 기반하여 이루어지는데요. Swift3의 업데이트와 함께 주목할 만한 변화 중 하나는 C-스타일의 for 문과 증감 연산자의 제거였어요. 본 글에서는 이러한 변화의 배경과 그 이유에 대해서 알아보겠습니다. Swift의 발전 방향 Swift3의 업데이트에 대해 알아보기 전에 Swift 언어가 지향하는 ...
개요 개발을 하다 보면 자주 마주치게 되는 두 용어, 에뮬레이터와 시뮬레이터에 대한 개념과 차이점을 함께 알아보고자 해요. 특히 왜 애플은 시뮬레이터를 지원하는지에 대한 내용도 다뤄보려 합니다. 에뮬레이터(Emulator)와 시뮬레이터(Simulator)의 차이 애뮬레이터 목적: 다른 시스템의 동작을 구현하는 것 특징: 하드웨어나 운...
Headings H1 - heading H2 - heading H3 - heading H4 - heading Paragraph Quisque egestas convallis ipsum, ut sollicitudin risus tincidunt a. Maecenas interdum malesuada egestas. Duis consect...