반응형 전체 글63 Swift 5.0 Result Type 소개 (에러 처리를 쉽고 깔끔하게 결과는 명확하게 SE-0235) 안녕하세요~! 오늘은 새롭게 소개된 Result Type을 소개해 드리려고합니다. Result Type은 아래 코드 처럼 enum으로 선언 되어있고 성공과, 실패를 Generic으로 받고 있습니다. 실패는 무조건 에러 타입이구요 @frozen enum Result where Failure : Error 기존의 에러처리 방식을 개선하고 결과값을 명확히 받기 위해 Result Type이 나왔다고 보여지는데요. 왜 그런지 아래 예제를 통해 함께 보시죠~! 아래 주문을 받는 받았을 때 발생 할 수 있는 간단한 에러를 정의 했습니다. enum OrderError: Error { case LackOfMoney } 메뉴는 햄버거가 좋을거 같아요. 햄버거 종류와 종류에 따른 가격을 받을 수 있습니다. enum Hamb.. 2022. 12. 27. Swift5.0 Character Properties (띄어쓰기, 공백, 숫자, 소문자 등등.. 확인 가능해요) SE-0221 안녕하세요 Swif5.0 Character 타입에 새롭게 추가된 Properties을 소개해 드리려고 합니다~!! 어떤것들이 추가 되었는데 함께 보시죠~! 그 전에 Character 타입이 무엇인지 짧게 소개 해드리려고 하는데요~! 말 그대로 '문자'를 의미합니다. 단어나 문장처럼 문자의 집합(예: dog)이 아니라 단 하나의 문자(예: d)를 의미합니다 유니코드에서 지원하는 모든 언어, 특수문자 등을 사용 할 수 있습니다. 아래는 새롭게 추가된 Properties 입니다. .isASCII ASCII 문자를 확인합니다. let aCharacter = Character("A") let piCharacter = Character("π") aCharacter.isASCII // true piCharacter... 2022. 12. 26. Swift5.0 Dictionary를 위한 고차함수 .compactMapValues 소개 SE-0218 안녕하세요! 오늘은 .compactMapValues에 대해서 소개해 드리려고 합니다~! 찾아보니 정말 편리하다고 느꼈는데요. 왜 그런지 같이 살펴보시죠~! 예시를 들면서 소개해 드리면 좋을거 같습니다. 아래 코드를 보시죠 let d: [String: String?] = ["a": "1", "b": nil, "c": "3"] let r1 = d.filter { $0.value != nil }.mapValues { $0! } let r2 = d.reduce(into: [String: String]()) { (result, item) in result[item.key] = item.value } // r1 == r2 == ["a": "1", "c": "3"] Dictionary 값에 문자, nil 값이 같이 .. 2022. 12. 23. Swift 5.0 유니코드 스칼라 프로퍼티 추가 (Unicode Scalar Properties) SE-0211 안녕하세요~! Swift 5.0에서 Unicode Scalar에 properties가 추가 되었는데요 어떤 특징들이 있는지 함께보시죠~! 들어가기 앞서 유니코드 스칼라 의미 잠깐 보고 가시죠~! 유니코드 문자에 배당된 숫자를 의미 합니다 "U+" + 16진수 형태로 구성 되어있구요 U+0000부터 U+D7FF까지, U+E000부터 U+10FFFF까지의 값이 있습니다 1. 유니코드 속성 검사 Bool 값 추가 scalar properties 에서 제공하는 여러 Bool 값을 이용해서 어떤 문자가 포함 되어있는지 확인 할 수 있습니다. isMath, isUppercase, isASCIIHexDigit... let question = "Which is larger, 3 * 3 * 3 or 10 + 10 + 1.. 2022. 12. 20. Raw String(문자열)을 쉽게 표현하자 # ... # ("\" 문자 지옥에서 벗어나기) SE-0200 Swif 5.7 까지 업데이트 된 상황에서 뒤늦게 정리하게 되었습니다. Swif5.0 ~ 5.7까지 정리하려고 하는데요. 정리 + 활용까지 전달드리려고 합니다. (개인적인 공부 및 정리) 그럼 시작해보겠습니다. #"..."# 를 추가한 Raw String 을 지원. 보통 "과 같은 특수문자를 표현한다고 하면 \을 함께 넣어서 표현했었습니다. 하지만 이젠 # ... # 사이에 문자를 표현하게 되면 \를 필수적으로 넣을 필요 없습니다. let before = "before \"You\"" let after = #"after "You""# 아래와 같은 정규식도 마찬가지 입니다. let before = "\\\\[A-Z]+[A-Za-z]+\\.[a-z]+" let after = #"\\[A-Z]+[A-Za-z].. 2022. 12. 19. Privacy Policy Sungwon Park's application adheres to the following policy to protect user privacy and rights in accordance with the Personal Information Protection Act. We will notify users of any changes to our personal information handling policy through the app interface and website announcements. Purpose of Processing Personal Information: This application is a standalone application that does not collect .. 2020. 4. 9. Swift Enum의 활용 (구조체 또는 클래스 대신 열거형으로 정리해봐요) Enum은 특정한 이름을 정의하고 값 대신에 사용하는 기능으로 아래와 같이 사용하는 경우가 많습니다. Enum Coffee { case Macchiato case Espresso } Enum에 대해 공부하고 있는데요. 그 중에 실전에서 활용하면 좋은 몇가지를 나누어서 소개해 드리려고 합니다. 구조체 또는 클래스 대신 열거형으로 예를 들어 채팅 앱을 만드는 상황이라고 가정하고 채팅 메시지에 대한 구조체를 아래와 같이 정의 해보았습니다. struct Message { let userId: String let contents: String? let date: Date let hasJoined: Bool let hasLeft: Bool let isBeingDrafted: Bool let isSendingBall.. 2020. 4. 1. 이전 1 ··· 5 6 7 8 다음 반응형