Swift
-
옵셔널을 다루는 방법들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와 같은 에러 처리에 대한 문법을 알고 있다고 가정합시다! 해당 문법들로 에러를 처리할 수 있지만 모든 경우에서 다 처리하기에 어렵고 복잡합니다. 이러한 친구들은 에러의 동기적인 처리를 하는데 도움이 됩니다. 다만 우리는 통신과 같은 상황에서 에러를 비동기 처리..
-
Property WrapperSwift 2022. 4. 21. 10:11
안녕하세요. 그린입니다🟢 이번 포스팅에서는 Swift의 Property Wrapper를 알아보려합니다🙌 Property Wrapper? Swift 5.1에서 처음 소개되어 추가된 기능으로 프로퍼티를 감싸 특별한 타입으로 만들어주는 친구입니다. 뒤에서 천천히 같이 학습해보겠지만 우선 찍먹해보면 프로퍼티에 커스텀한 어떤 로직들을 매번 동일하게 지정해주지 않고 Property Wrapper로 만든 타입으로 프로퍼티를 선언해 동일 로직을 수행하도록 합니다! Property Wrapper는 특히 지역변수에서만 사용가능합니다🙌 아마 다들 많이 보셨을것 같은 @UserDefaults, @State, @Binding 등등 되게 많은 이러한 형태를 띈 친구들이 Property Wrapper라고 볼 수 있습니다. 저는 특..
-
Method SwizzlingSwift 2022. 1. 14. 09:47
안녕하세요. 그린입니다🟢 이번 포스팅에서는 Method Swizzling에 대해 학습해보겠습니다💁🏻 Method Swizzling? 메서드 스위즐링? 스위쯜링? 단어가 너무 생소해요🤔 우선 직역해서 어떤 뜻일까요? ㅋㅋㅋ 이게뭐야.. 더 혼란스러워.. 아마 지금 심정하고 맞을거에요. 스위즐링은 빙글빙글이라고 직역이 나오는 파파고...를 무시한채 아무튼! 보통 프로그래밍에서 스위즐링이라하면 뒤바꾸는걸 의미합니다. 즉 여기서 메서드 스위즐링은 메서드끼리 바꾸는것을 생각하면되요! 이건 단어의 개념이야기이고 Swift에서 더 나아가 다른 언어에서도 메서드 스위즐링이 뭘까요? 런타임 시점에 메서드를 서로 바꿔 동작하게 하는 기능입니다🤭 Object-C에서 다이나믹 디스패치 덕에 런타임에 메서드 호출의 변경이 가능..
-
Swift - MarkdownSwift 2021. 10. 20. 21:52
안녕하세요. 그린입니다🟢 이번 포스팅에서는 Swift의 Markdown에 대해 학습해보겠습니다💁🏻 Markdown은 다들 아실겁니다. 간단히 말하자면 서식 있는 텍스트를 작성하기 위한 공통 언어입니다. 깃헙 리드미에서도 많이 보셨을거에요🧐 그런데 Swift - Markdown은 도대체 무엇인지 알아봐야겠어요..! SwiftUI 3.0으로 업데이트 되면서 즉 iOS15부터 애플에서 Foundation 프레임워크와 SwiftUI에서 이 마크다운을 제공해줍니다!! 얘네들이 마크다운 라이브러리를 만들어버렸어요😁 정말 그럼 딥하게 파고들며 설명하기전에 어떤건지 맛볼까요? 간단한 Markdown의 사용 예시 맛보기 import SwiftUI struct ContentView: View { var body: some..