
미루고 미뤘던 protocol에 대해 공부해보려고 합니다. Swift의 꽃이 무엇이냐고 하면 optional이랑 protocol을 말하는데 optional에 대해서 포스팅했으니 protocol 차례인거 같네요. 프로토콜 포스팅할 떄 Zeddios0202님의 블로그를 참
안녕하세요!! 오늘은 Tuple에 대해서 포스팅하려고 합니다. tuple은 저도 코딩테스트에서 자주 사용하는 자료형인데요. Tuple과 그 활용 방법에 대해서 알아보겠습니다!tuple은 여러가지 타입을 한꺼번에 저장해서 사용할 수 있습니다. tuple은 Swift의 T
안녕하세요! 오늘은 Swift 함수 포스팅을 작성하려고 합니다. 기존에 작성한 함수 편에서 조금 내용을 추가해서 포스팅 작성해보겠습니다.

안녕하세요! 오늘은 Optionals 포스팅으로 돌아왔습니다. 개발할 때 가장 많이 발생하는 예외 중 하나가 NullPointerException입니다. 접근하는 변수의 값이 nil이어서 발생하는 것입니다. 위처럼 변수를 선언했지만 값을 저장하지 않은 변수에 접근하면
안녕하세요! 오늘은 Optional 편에 이어 Optional type을 이용하려면 꼭 필요한 과정인 Unwrapping에 대해서 알아보려고 합니다! Optional 편에서 배웠다시피 Optional type을 사용하여 계산할 수 없습니다. 따라서 옵셔널(Option
오늘은 enum 자료형에 대해서 알아보려고 한다. 열거형은 데이터 타입 중 하나로 관련된 값의 그룹을 위한 일반 타입을 정의하고 코드에서 타입-세이프 방법으로 값을 동작하게 한다.Value type이다.다음과 같이 사용할 수 있다. CompassPoint에 저장된 열거
r

이번 포스팅을 enum 마지막 편입니다. 이번 포스팅은 optional pattern에 대해서 알아보겠습니다. optional이 열거형으로 구현된거 알고 계시죠? 열거형이라면 값을 처리할 때 switch문을 활용하면 효과적일 것입니다. 이때 optional type인

안녕하세요! 오늘은 @unknown 키워드에 대해서 알아보겠습니다. @unkown은 Swift 5.0 이상부터 사용할 수 있는 키워드입니다. @unkown은 enum타입을 접근하는 switch-case문에서 사용되는 키워드입니다. 프로젝트를 진행하면서 열거형을 사용할

안녕하세요! 오늘은 지연 저장 속성에 대해서 알아보겠습니다. 지연 저장 속성에 대해서 알아보기 전에, 저장 속성에 대해서 알아보겠습니다. 저장 속성 저장 속성은 값이 저장되는 속성을 말합니다.

안녕하세요 오늘은 속성 2번째 포스팅입니다. 바로 computed property인데요? 계산 속성은 평소 자주 사용하는 저장 속성과 많이 다릅니다. 그럼 바로 알아볼까요? Computed Property > In addition to stored properties

안녕하세요! 오늘은 속성 3편으로 돌아왔습니다. 바로 Type Properties입니다. 지금까지 소개했던 속성은 모두 인스턴스에 속한 속성이었습니다. 새로운 인스턴스를 생성할 때 마다 각 인스턴스에 속한 속성 값이 생겼습니다.이와 다르게 타입 속성은 타입 자체에 속한
안녕하세요! 오늘은 드디어 속성 마지막 편인, 속성감시자 포스팅입니다.속성감시자는 일반적인 속성과는 다르게 말 그대로 감시하는 속성이라고 생각하면 되겠습니다!Property observers observe and respond to changes in a propert

안녕하세요! 오늘은 Extension에 대한 포스팅을 작성하려고 합니다. 바로 공식 문서 정의를 확인해볼까요?Extensions add new functionality to an existing class, structure, enumeration, or protoco
안녕하세요! 오늘은 클로저에 대해서 알아보겠습니다!클로저는 프로그래밍할 때 정말 많이 쓰이고 많이 보여서 매우매우 중요합니다. 이제 알아보겠습니다!공식 문서의 정의는 아래와 같습니다. Group code that executes together, without crea
안녕하세요 클로저 2편입니다!!! 오늘은 문법 최적화와 클로저에 많이 사용되는 attribute keyword에 대해서 알아보겠습니다. 클로저에 대해서 잘 모르신다면 1편을 보고 오시는걸 추천합니다. swift는 클로저 문법에 대해서 간편화할 수 있는 방법을 많이 제공

안녕하세요! 오늘은 생성자 포스팅을 시작해보겠습니다! 생성자는 인스턴스를 초기화해주는 메서드인데요. 먼저 초기화에 대해서 알아보겠습니다. 초기화는 인스턴스를 생성 과정으로 저장 속성에 대한 초기값을 설정하여 사용가능한 상태가 되게 만들어주는 것을 의미합니다. 그 역할

Rxswift는 비동기 프로그래밍을 관찰 가능한 순차적 형태와 함수 형태의 연산자를 통해 처리하게끔 도와줍니다.관찰 가능한 순차적 형태: Observable이벤트를 관찰하여 전파받는 역할: ObserverReactiveX에서 observer는 observable 을 구
Value type 인스턴스는 stack에 저장되며 값이 들어 있는 스택의 스코프가 종료되면 메모리에서 자동 제거reference type과 같이 heap에 저장되는 인스턴스는 따로 관리해야지만 메모리가 해제됨관리하지 않으면 메모리 누수 현상 발생 → Reference

객체가 서로를 참조하여 변수의 참조에 nil을 할당해도 메모리가 해제가 되지 않는 참조 사이클메모리 누수(Memory Leak)의 상황이 발생강한 순환 참조 john 인스턴스의 apartment 프로퍼티로 unit4A를 가리킴 → Person 인스턴스 reference

캡처현상이란 클로저는 힙의 영역에 존재하고 변수에 할당 혹은 클로저를 호출하는 순간, 지속적으로 외부 변수를 사용해야 하기 때문에 외부 변수를 캡처하는 현상을 의미한다.클로저 레퍼런스 타입sum이 캡처된 것을 확인 가능캡처 현상을 해결하는 방법은 바로 캡처리스트 캡처리
Write code that works for multiple types and specify requirements for those types.여러 타입에 대해서 요구사항을 정하여 코드가 동작하게 도와준다. Generic 코드는 정의한 요구사항에 어떠한 타입이라도

제네릭 함수처럼 Swift에서는 generic type을 정의할 수 있음. 어떠한 타입에서 사용할 수 있는 커스텀 클래스, 구조체, 열거형을 만들 수 있음 Array 와 Dictionary 도 제네릭으로 구현타입에 상관없이 사용가능한 Stack<Element>

⁉️ Swift에서 함수를 호출할 때 어떤 방식으로 실행되며 관리되는가? 로 부터 시작된 물음개발자는 함수를 사용할 때, 어떤 함수가 실행할 때 빠른지에 대해서 고민하며 함수의 종류를 선택할 필요가 있음→ 이를 위해서, method dispatch에 대해서 알아야 함공

프로토콜에서 Method Dispatch은 어떻게 이루어질까?https://developer.apple.com/videos/play/wwdc2016/416/?time=1474이 영상이 공식적인 저의 첫 WWDC가 되겠습니다. (다른 WWDC 본거 같은데 기억이
Method Dispatch 1편에서 Dynamic Dispatch에 대한 내용 기억 안나시면 1편을 다시 보고 오길 바란다. Reference type 인스턴스가 메서드를 호출할 때 Table을 활용하여 Dynamic Dispatch 방식으로 이루어진다. 하지만 Di

최근 바이트 배열을 다룰 일이 생기면서 Data, NSData를 사용한 적이 있다. 앞으로 파일을 압축하거나 해제할 때 또는 네트워크 통신할 때 사용할 일이 또 생길 거 같아서 이참에 기록해야지\~~이름으로 알다시피 NSData는 Objective-C의 Foundati

오늘은 weak과 unowned 차이점에 대해서 알아보려고 합니다.이 포스팅은 두 키워드를 사용하면 레퍼런스 카운트가 되지 않는 공통점이 있는데 어떤 이유에서 해당 인스턴스가 해제될 때에는 차이점을 가지고 있는지에 대한 궁금증으로부터 시작되었습니다. strong, we