Swift 3.0.1 가이드에 대응하는 정리글을 작성하였습니다!!!Protocols 정리 최신버전 > http://wlaxhrl.tistory.com/58 Apple 제공 Swift 프로그래밍 가이드(2.2)의 Protocols 부분을 공부하며 정리한 글입니다. 개인적인 생각도 조금 들어가있습니다. 프로토콜 2편입니다. 이번 시간에는 Delegation부터 시작합니다. 1편을 아직 안 읽으셨다면 먼저 1편을 읽어보세요. Protocols 1편 링크 > http://wlaxhrl.tistory.com/28 Delegation딜리게이션은 클래스/구조체가 자신의 책임 중 일부를 다른 타입의 인스턴스에게 떠넘길 수 있게 해주는(=위임할 수 있게 해주는 = hand off = delegate) 디자인 패턴이다.딜..
Swift 3.0.1 가이드에 대응하는 정리글을 작성하였습니다!!!Protocols 정리 최신버전 > http://wlaxhrl.tistory.com/57 Apple 제공 Swift 프로그래밍 가이드(2.2)의 Protocols 부분을 공부하며 정리한 글입니다. 개인적인 생각도 조금 들어가있습니다. 들어가며프로토콜은 특정 task나 functionality를 위한 메서드, 프로퍼티, 그 외 요구사항들의 청사진을 정의한다. 클래스, 구조체, ENUM은 프로토콜을 적용하여 그 요구사항들의 실제 구현을 제공한다. 어떤 타입이 특정 프로토콜의 요구사항을 만족시키면, 그 타입이 프로토콜을 따른다conform고 말한다.필요 시 프로토콜을 확장하여 그것을 따르는 타입에게 도움이 되는 기능을 제공하거나 할 수도 있다...
Swift 3.0.1 가이드에 대응하는 정리글을 작성하였습니다!!!Extensions 정리 최신버전 > http://wlaxhrl.tistory.com/56 Apple 제공 Swift 프로그래밍 가이드(2.2)의 Extensions 부분을 공부하며 정리한 글입니다. 개인적인 생각도 조금 들어가있습니다. 들어가며확장Extension을 통해 기존 클래스, 구조체, ENUM, 프로토콜 타입에 새로운 기능을 더할 수 있다. 원본 소스 코드에 접근할 수 없는 타입도 확장할 수 있다. (이렇게 기존 코드를 건드리지 않고 기능을 확장하는 것을 retroactive modeling이라고 부르는 것 같다) 확장은 Objective-C에서의 카테고리와 유사하고, 다른 점이 있다면 확장은 개별적으로 이름을 따로 가지지 않는..