SWIFT(13)
-
[Swift] Codable (1)
블로그에 너무 소홀했는데, 오랜만에 정신을 차리고 다시 포스팅을 진행해보려고 합니다 🥲 오늘은 그동안 스터디를 진행하면서 이 부분은 꼭 따로 공부해서 써봐야지 했던 부분인 Codable에 관한 부분입니다. 보통은 JSON 모델을 요리 조리 볶을 때, Codable을 채택해서 편하게 Decoding, Encoding을 하고 있는데 여기서 Codable에 대해 조금 더 깊게 알아보려고 합니다. 서론 우선 Codable을 알아보기 전에 Serailization, Deserailization이라는 용어에 대해서 간단히 알아볼게요. 우선 Codable을 사용하는 이유라고 할 수 있는데요. Swift의 데이터 타입을 외부에서 사용할 수 있는 데이터(external representation) 타입으로 변환하기 위해..
2022.04.24 -
[SWIFT] ArraySlice
그동안 개발을 하면서 Swift에서 Array를 나누게 되면 생길 수 있는 ArraySlice라는 타입이 있는데, 여기에 대해 스터디를 하다 궁금증이 생겨서 정리해보려고 합니다 👋 ArraySlice Array를 다루다보면 볼 수 있는 타입인데, 사실 뭔가 미묘했다. 분명 Array인데...(?) 왜 굳이 나눠서 따로 있는거고 그냥 Array를 사용하면 되지 않는가 의문이 생겼다. 특히, 보통 사용할 때, Array로 캐스팅하는 과정을 거쳤었다 🤔 우선 공식 문서에 설명을 보면 다음과 같습니다. Array, ContiguousArray, ArraySlice의 Slice라고 설명되어 있습니다. 즉, Array를 잘라도 ArraySlice이고 ContiguousArray, ArraySlice를 모두 잘라도 ..
2022.02.25 -
[SWIFT] Swift Method Dispatch - Dynamic, Static
안녕하세요 :) 저희는 매주 월요일 주간 회의를 진행하는데, 희의를 진행할 때 리더님이 주제를 하나씩 가져와주셔서 대화의 장을 마련해주십니다. (덕분에 많은 것을 배우고 있습니다..) 그래서, 오늘 포스팅을 해 볼 주제가 바로 그 때 얘기했던 주제입니다..!! 사실 오늘 회의를 할 때, Method Dispatch에 대해서 들어본 적이 없어서 거의 얘기를 못했는데요 😭 그래서, 회의가 끝나고 혼자서 찾으면서 공부해보았답니다.. 오늘은 Swift의 Method Dispatch에 대해서 알아보도록 하겠습니다. Method Dispatch in Swift 우선 Method Dispatch란 Swift에서 여러분들이 Method를 호출할 때, 현재 메모리에서 어떻게 각 메소드를 실행시키고 어떤 메소드를 실행시킬..
2021.06.11 -
[SWIFT] Metatype - self, Self, Type
오늘은 개발을 진행하다 그동안 무의식적으로 자주 사용했던 self, Self에 대해 알아보려고 합니다. 자주 사용하면서 어... 제대로 알고 있는 걸까 생각이 들었고 다시 한 번, 공부하면서 정리해보고 싶어서 개념에 대해서 정리해보겠습니다 :) Metatype이란? 우선 Metatype이란 타입의 타입이라고 부릅니다. 어...? 근데, 타입의 타입이라니 뭔가 이상하다고 생각이 들수도 있습니다. 근데 잘 생각해보면 Swift를 활용하면서 이렇게 Type으로 붙어서 활용했던 타입의 값들 바로 이런 값들이 Subclass의 Type입니다. 즉, 타입의 타입이 됩니다. 쉽게 말해서 값으로 활용될 수 있는 타입들입니다. 그러니깐 Subclass의 Metatype은 Subclass.Type입니다. 이제 Metaty..
2021.03.21 -
[SWIFT] Property Wrapper
Swift 5.1버전부터 추가된 속성인 것 같은데, 오늘 공부해보려고 합니다. Property Wrapper라는 속성입니다. 나온지는 꽤 지났지만 지금에서야 공부합니다. 😂 Property Wrapper 프로퍼티 래퍼란 이름에서 오는 뉘앙스의 그대로 어떤 값이 있으면 이 값을 한 번 감싸서 저장을 위한 로직과 얻어오기 위한 로직을 어느정도 분리해서 반복을 줄여줄 수 있는 방법을 제공하는 속성입니다. 예를 들면, 밑과 같은 코드가 있습니다. private var _money: Int = 0 var money: Int { get { return _money } set { _money += newValue } } 속성을 저장하기 위한 코드와 이를 정의하는 코드가 분리되어 있죠?? _money라는 속성은 말 그..
2021.03.14 -
[SWIFT] Set
오늘은 SWIFT의 타입 중 Set 타입에 대해 알아보려고 합니다. 우선 Set 타입하면 Array 타입과 비슷하다고 생각이 드실거에요. 어떤 부분에서는 비슷하고 선언법도 비슷하죠...? 근데 그렇다면 어떤 부분에서 차이점이 존재할까요. 바로 Set 타입은 값의 집합이기 때문에, 순서가 중요하지 않아요. 그리고 중복 값을 허용하지 않습니다. 또한 중요한 점이 Hashable한 타입만이 선언될 수 있다는 점입니다. 구현부를 보면 struct Set where Element: Hashable // where 절과 같은 표현입니다 sturct Set where 절로 Hashable 타입만을 받을 수 있게 한 제약을 확인할 수 있죠..? 즉, Set 타입은 순서가 없는 Hashable한 값들의 유일한 집합입니다..
2021.01.28