본문 바로가기
반응형

ios30

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.
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.
반응형