Swift
-
addingPercentEncoding(withAllowedCharacters:)Swift 2023. 1. 2. 21:27
안녕하세요. 그린입니다🍏 이번 포스팅에서는 addingPercentEncoding(withAllowedCharacters:)이라는 메서드에 대해서 학습해보겠습니다🙌 왜 필요할까요? 네트워크 통신 시 URL 헤더 파라미터로 한글이 포함된 key 값을 넘겨줄때가 있을거에요. 그럴때 인코딩을 시도하고 기본적으로 정해진 타입에 따라 인코딩이 됩니다. 여기에는 한글이나 특수문자 및 공백 등이 포함되지 않았기에 유효하지 않은 URL을 요청하게 되고 정상적인 동작을 하지 않습니다😭 예를들어 아래와 같이 URL을 보내면 문제를 일으켜요! let url = URL("https://itunes.apple.com/search?term=몽실&entity=software"!) // 네트워크 통신 몽실이라는 key가 들어가서 그..
-
Subscript에 대해 알아보기 (feat.String)Swift 2022. 10. 3. 11:25
안녕하세요. 그린입니다🍏 오늘 포스팅은 Subscript에 대해 알아보며 Swift 언어에서만 왜 String을 다룰때 Subscript가 어떻게 다른지 알아보겠습니다🙌 우선 Subscript라는것 많이 들어보셨을것 같아요. 그런데 아마도 제대로 설명하기에는 막막한 분들이 많을거라 생각합니다. 보면 아~ 이거! 하겠지만 용어만으로는 뭐였더라..? 하게 되죠. 그래서 우선 Subscript가 무엇인지 정의해보고 가겠습니다! Subscript의 정의 서브스크립트는 클래스, 구조체, 열거형에서 정의해서 사용하는 스크립트입니다. 즉 컬렉션, 리스트, 시퀀스 등 집합 내 속한 요소에 쉽게 접근할 수 있게 해주는 문법인 셈이죠. 이를 이용해 메서드 구현없이도 단순히 값의 추가 및 획득 등이 가능합니다. 대표적인 예..
-
정규 표현식 (Regex)Swift 2022. 9. 13. 12:23
안녕하세요. 그린입니다🍏 이번 포스팅에서는 정규 표현식에 대해 학습해보겠습니다🙌 정규 표현식이란? 우선 정규 표현식을 Swift에서 사용하는것을 알아보기에 앞서 정규 표현식이 무엇인지 그 정의부터 깨우치고 가는게 맞을것 같아요. 그렇기에 정규 표현식의 가장 기본적인 개념을 찾아봤습니다. (이런 개념적인것을 파볼때는 역시 위키 백과가 짱인것 같아요..!) 정규 표현식은 영어로 regular expression이라고 불리며 우리는 줄여서 Regex라고 부릅니다. 정규식은 주로 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용되는 형식 언어입니다. 여기서 형식 언어란 수학, 컴퓨터 과학, 언어학에서 특정한 법칙들에 따라 적절하게 구성된 문자열의 집합을 말합니다. 정규 표현식은 다양한 프로그래밍 언어에서 문자..
-
옵셔널을 다루는 방법들Swift 2022. 8. 8. 12:16
안녕하세요. 그린입니다🟢 이번 포스팅에서는 Swift에서 옵셔널을 다루는 방법들에 대해 소개하려 합니다🙌 우선 옵셔널 참 많이 들어보셨죠? Swift를 익히면서 당연히 안들어볼 수 없었을테고요. 그럼 우선 아주 심플하게 프리뷰로 옵셔널이 뭔지 딱 간략하게 정의하고 가죠! 옵셔널(Optional)? Swift 언어의 대표적인 하나의 특성은 안정성입니다. 즉 런타임 시 에러가 날때 이 오류를 nil값을 반환해줍니다. 그 이유는 들어온 nil값을 캐치해 개발자가 코드내에서 처리할 수 있도록 하기 위함이죠. 그렇다면 이 nil값을 받을 수 있는 타입이 필요할거에요. 기본 자료형 타입들에서는 nil값을 받을 시 앱 크래쉬가 날거니까요. 그렇기 위해 옵셔널이 존재합니다. 즉 말 그대로 옵셔널하기에 "값이 있을수도 ..
-
기본 타입을 Extension하여 편리하게 사용하기Swift 2022. 8. 4. 13:51
안녕하세요. 그린입니다🟢 이번 포스팅에서는 기본 타입을 Extension해서 조금 유의미하게 프론트 개발에서 사용하는것을 포스팅해보려 합니다🙋🏻 대게 앱 개발을 하다보면 서버에서 내려온 데이터를 다루게 되죠. 예를들어 TimeStamp로 내려온 시간을 우리는 앱에서 커스텀하게 "2022년 8월 3일 15시 30분"과 같이 다양한 형식으로 포맷팅을 시킬 경우가 많습니다. 이를 편리하게 익스텐션으로 구현해놓는다면 프로퍼티만 가져다 쓰게 되니 아주 편리할거라 생각해요. 이런것처럼 오늘 주제는 작게 나눈다면 3가지가 될것 같습니다. 아주 간단한 코드이기에 바로 해보시죠! 날짜/요일/시간에 대해 Date -> String과 String -> Date 구현하기 Date -> String 우선 서버에서 내려온 날짜에..
-
WWDC 2022 - Swift 5.7Swift 2022. 6. 13. 09:41
안녕하세요. 그린입니다🟢 이번 포스팅에서는 Swift 5.7에서 소개된 사항들 및 개선된 부분들에 대해 알아보려합니다. 우선 이번 포스팅에서는 조금 자세하게 언급되는 부분도 있을것이고 아직 학습을 다 마치지 못해 가볍게 넘어가는 부분도 있으니 참고해주세요🙌 Unwrapping Optionals Gets an Improvement 옵셔널 바인딩을 통한 언래핑 시 if let과 guard let을 통해 진행해줄 수 있는건 다들 아실거에요. 기존에는 아래와 같이 쉐도잉이라고 불리는 작업이 필요했어요. var name: String? = "GREEN" if let name = name { print(name) } 여기서 쉐도잉이란 if 혹은 guard 바인딩 문에서 사용될 프로퍼티에 옵셔널한 값을 추출해 넣어주..
-
Swift5.6 - existential anySwift 2022. 5. 2. 10:30
안녕하세요. 그린입니다🟢 이번 포스팅에서는 Swift5.6에서 소개된 existential any에 대해 학습해보겠습니다🙌 우선 existential any가 뭘까요? existential의 뜻은 실제로 존재하는 즉, 실존이라는 뜻을 사전적으로 가지고 있습니다! 그러면 existential any는 우리가 알고 있는 any 타입에 대해 실존하는 any 타입이라는 느낌으로 다가오네요🤔 그럼 조금 더 자세히 알아보죠! https://www.hackingwithswift.com/swift/5.6/existential-any Introduce existential any – available from Swift 5.6 Link copied to your pasteboard. www.hackingwithswift..
-
Result (With. Composable Architecture)Swift 2022. 4. 25. 10:03
안녕하세요. 그린입니다🟢 이번 포스팅에서는 Result에 대해 학습해보겠습니다🙋🏻 더불어 컴포저블 아키텍쳐에서 이런 Result 타입을 어떻게 활용하는지 보시죠! Result? 우선 선언부는 이렇습니다. @frozen enum Result where Failure : Error 일반적인 열거형이며 각 경우에 연결된 값을 포함해 성공 혹은 실패를 나타내는 열거형 타입입니다! Result의 필요성? 우리는 이미 do, catch, try, throws와 같은 에러 처리에 대한 문법을 알고 있다고 가정합시다! 해당 문법들로 에러를 처리할 수 있지만 모든 경우에서 다 처리하기에 어렵고 복잡합니다. 이러한 친구들은 에러의 동기적인 처리를 하는데 도움이 됩니다. 다만 우리는 통신과 같은 상황에서 에러를 비동기 처리..