Protocol
-
Swift Language ) GenericsSwift/Swift Language 2021. 9. 23. 13:46
Generics Generic 은 유연하고 재사용 가능하도록 함수와 타입을 다룰 수 있게 해주고, 어떠한 type, subject 와도 함께 사용될 수 있어요. 이를 통해 중복되는 코딩을 하지 않을 수 있습니다. 대부분의 Swift standard library 는 generic 으로 이루어져있고, Generic 은 Swift 의 가장 강력한 기능 중 하나에요. 예를 들면, Swift 에서 array, dictionary 는 모두 generic collections 이에요. 따라서 Int, String 뿐만 아니라 Swift 내에서 생성될 수 있는 어떠한 타입이든 array 의 element 로서 존재할 수 있습니다. (dictionary 내 element 도 마찬가지에요) 1.1 The Problem..
-
Swift Language ) ProtocolSwift/Swift Language 2021. 9. 16. 12:18
Protocol 은 어떤 목적을 달성하기 위해 필요한 것들 (Properties, Methods, ...) 을 미리 정해놓은 청사진과 같은 개념입니다. Enumeration, Struct, Class 는 Protocol 을 받으면서 실제 필요한 기능들을 상세히 정합니다. (Implementation) 그리고, 이러한 행위를 'Conform' 이라 부릅니다. (conform: 따르다) Protocol 을 Extend 하면서 필요한 기능들을 상세히 정할 수도 있고, Conform 하는 Type 들이 이용할 다른 기능들도 추가할 수 있어요. ( 이전 Extension 에서 언급은 했으나 아직 다루지 않은 부분이에요. ) Protocol을 선언하는 방식은 Struct, Class 등을 선언하는 방식과 같아요 ...
-
Swift Language ) ExtensionsSwift/Swift Language 2021. 9. 14. 12:06
Swift 에서 Extension은, Enumeration, Struct, Class, 그리고 Protocol 에 새로운 기능을 부여해 줄 수 있어요 또한, 소스코드에 접근할 수 없는 것도 사용할 수 있게 도와줍니다. TableView 나 CollectionView 등 에서 Delegate, DataSource 를 이용해 기존 ViewController 에 기능을 더해주는 것도 Extension 덕분입니다. Swift Extension이 할 수 있는 일들은 아래와 같아요! Add computed instance properties and computed type properties Define instance methods and type methods Provide new initializers Def..