SWIFT(22)
-
[SWIFT] Swift Method Dispatch - Dynamic, Static
안녕하세요 :) 저희는 매주 월요일 주간 회의를 진행하는데, 희의를 진행할 때 리더님이 주제를 하나씩 가져와주셔서 대화의 장을 마련해주십니다. (덕분에 많은 것을 배우고 있습니다..) 그래서, 오늘 포스팅을 해 볼 주제가 바로 그 때 얘기했던 주제입니다..!! 사실 오늘 회의를 할 때, Method Dispatch에 대해서 들어본 적이 없어서 거의 얘기를 못했는데요 😭 그래서, 회의가 끝나고 혼자서 찾으면서 공부해보았답니다.. 오늘은 Swift의 Method Dispatch에 대해서 알아보도록 하겠습니다. Method Dispatch in Swift 우선 Method Dispatch란 Swift에서 여러분들이 Method를 호출할 때, 현재 메모리에서 어떻게 각 메소드를 실행시키고 어떤 메소드를 실행시킬..
2021.06.11 -
[SWIFT] URL encoding (URL nil이 될 때 - addingPercentEncoding)
URL에 한국어를 넣거나 다른 특수문자들을 넣어야 될 때가 있는데요. 이럴 때, URL(string: someStr)을 이용하면 nil 값으로 변형되는 때가 있습니다. 저도 예전에 카카오 오픈 API를 이용해서 장소를 검색할 때, 분명 request에 해당하는 모든 정보를 넣었는데도 요청이 실패해서 삽질을 했던 적이 있는데요 😂 그 때, 정확한 URL은 기억나지 않는데 아마 이런 방식이었습니다. www.naver.com/search?location=명동 이렇게 URL로 get 요청을 보내면 분명 response가 와야했는데, 오지 않는 상황이었습니다. (404 에러가 났죠 ㅠㅠ) 그래서 URL로 바꾸는 부분에서 찍어보니 nil 값이 나왔습니다. (그러니깐 404가 나올 수 밖에..) let url = U..
2021.06.05 -
[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] OptionSet
Swift의 Collections 타입 중에 OptionSet이라는 타입에 대해 작성해보려고 합니다. 저도 사용해본 적은 없지만, 사용해보면 좋겠다는 생각이 들어서 공부를 하고 정리를 하게되었습니다. OptionSet란 OptionSet은 비트의 집합으로 자료구조 중에서 Set의 특징을 가지고 있는 자료구조입니다. Apple 개발자 문서를 보아도 Collections > Set으로 분류가 되어 있습니다. 비트의 집합으로 구성된다는 뜻은 만약 0000의 4비트가 존재한다면 각각의 비트가 하나의 옵션을 나타낸다는 뜻입니다. 지금은 이정도만 이해를 하고 넘어가고 뒤에 실제 예시를 통해 이해하면 될 것 같습니다. (즉, 각 옵션에 대해서 1, 2, 4, 8, 16의 값을 가지게 될 것입니다..!!) 그렇다면 이..
2021.03.07 -
[SWIFT] Swift SOLID 원칙
안녕하세요 오늘은 SOLID 원칙에 대해 정리를 해보려고 합니다. 근데, 이것을 Swift 언어에 접목시켜서 이해해보고 작성해보겠습니다 🙌 SOLID란? SOLID 원칙이란 객체지향 설계에 더 좋은 아키텍쳐를 설계하기 위해 지켜야하는 원칙들의 5가지를 앞의 약어만 따서 정리한 단어입니다. 그렇다면 이런 원칙을 왜 알아야할까요? 🧐 아무래도 개발자가 좋은 제품을 생성하기 위해서는 기능을 구현하는 것도 중요하겠지만, 새롭게 어떤 기능이 추가되거나 유지 보수가 되어야 할 때 더욱 생산성 있고 유연하게 대처가 가능해야한다고 생각합니다. 이를 위해서 코드를 어떻게 설계하고 개발해나가는지가 중요하다고 생각합니다. SOLID 원칙은 이러한 좋은 설계를 위한 최소한의 원칙들을 정리해주기 떄문에, 중요하게 됩니다. 디저..
2021.02.27