목록Swift (15)
study record
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bYAWeJ/btrtlmIwZqK/xo2QFmPyAyGXaAC0TY6hh0/img.png)
Intrinsic Content Size는 무엇일까요? 어디서 나온 단어이고, 어디에 쓰일까요? 그리고 면접질문에서 왜 등장하는지 알아봅시다! Intrinsic Content Size는 UI 인터페이스 요소의 오토레이아웃, 즉 제약을 설정할 때 등장하는 단어입니다. 우리가 인터페이스 요소를 스토리보드에 올려두었을 때 width와 height를 따로 설정하지 않았어도 자동으로 설정되는 경우가 있었습니다. Intrinsic Content Size는 자신의 컨텐츠 사이즈에 따라서 결정되는 뷰 사이즈를 말합니다. label, button 같은 경우는 intrinsic content size가 있어서 뷰 내부의 컨텐츠에 따라 자신의 높이와 넓이를 알게 됩니다. 따라서 버튼의 제약을 지정할 때 모든 제약을 걸어주지..
*이 글은 책 '스위프트 프로그래밍'을 읽고 작성한 글입니다. 오류처리란 오류처리(Error Handling)는 프로그램이 오류를 일으켰을 대 이것을 감지하고 회복시키는 일련의 과정이다. 주의할 점은 스위프트의 오류처리 기능을 통해 시스템(운영체제 등 우리가 작성하는 응용프로그램 외부)에서 발생한 오류를 처리할 수 있는 것은 아니라는 것이다. 오류의 표현 스위프트에서 오류는 Error라는 프로토콜을 준수하는 타입의 값을 통해 표현된다. Error 프로토콜은 사실상 요구사항이 없는 빈 프로토콜이지만, 오류를 표현하기 위한 타입(주로 열거형)은 이 프로토콜을 채택한다. 스위프트의 열거형은 오류의 종류를 나타내기에 아주 적합한 기능이다. 연관 값을 통해 오류에 관한 부가 정보를 제공할 수도 있다. enum V..
*이 글은 책 “스위프트 프로그래밍”을 읽고 작성된 글입니다. 객체지향 프로그래밍 패러다임에 기반을 둔 언어는 대부분 클래스의 상속을 사용해 타입에 공통된 기능을 구현한다. 그런데 스위프트의 표준 라이브러리에서 타입과 관련된 것은 대부분 구조체로 구현되어 있다. 상속이 되지 않는 구조체로 어떻게 다양한 공통 기능을 가질 수 있는지는 프로토콜, 익스텐션, 제네릭의 조화를 통해 이루어진다. 프로토콜 초기 구현 익스텐션은 기존 타입의 기능을 확장하고, 프로토콜은 프로토콜을 채택한 타입이 원하는 기능을 강제로 구현한다. 익스텐션과 프로토콜의 결합을 통해 중복 코드와 유지보수를 해결한다. 프로토콜을 정의할 때는 그 프로토콜을 채택한 타입에서 구현해주어야 하는 프로토콜의 요구사항을 구현할 수 없다. 단지 요구사항을..