Swift
-
What's new in Swift6 (feat. WWDC 2024)Swift 2024. 8. 19. 19:00
안녕하세요. 그린입니다 🍏이번 포스팅에선 WWDC 2024에서 소개한 Swift6의 새로운 기능들에 대해 알아보겠습니다 🙋🏻 먼저, Swift가 그간 10년 동안 발전해온 발자취를 볼까요? 👣 Swift over the years먼저 Swift는 2014년에 발표된 후 현재 10년이 지났는데요.발표된 다음 해에 오픈 소스로 리눅스에서도 사용할 수 있게 되었죠.그리고 커뮤니티를 통해 지속적으로 성장해왔습니다. 2016년에는 Swift 3와 함께 SPM도 발표가 되었죠.특히 Swift 2에서 Swift 3로 마이그레이션 시 많은 변화가 있어 어려웠다고 합니다 🥲새로운 언어 모드로 모두 옮겨야 했으니까요. 그런 경험을 토대로 2017년 Swift 4에서 모든 Swift 코드를 한번에 새로 나온 언어 ..
-
Swift 6 - sending parameter and result valuesSwift 2024. 8. 15. 10:38
안녕하세요. 그린입니다 🍏이번 포스팅에서는 Swift 6 버전에서 새로 나온 sending이라는것에 대해 알아보려고 합니다 🙋🏻 한번 Swift Evolution에서 기재된 Swift 6의 sending 부분 문서를 보며, 알아보시죠 😀 Introductionsending이라는 키워드는 Swift 6에서 소개되었는데요.영역 격리를 확장해 함수 매개변수와 결과에 대한 명시적인 주석의 적용을 가능하게 해줍니다. 즉, Swift 6에서 동시성 모델에서 중요한 개념으로 소개되고 있어요.목적 자체는 sending은 함수 매개변수나 결과값이 안전하게 isolation 경계를 넘어 전송될 수 있음을 나타냅니다. MotivationSwift 6의 SE-0414의 도입에서는 지역 격리라는 개념을 도입했어요.이는 ..
-
XMLParserSwift 2024. 5. 20. 18:55
안녕하세요. 그린입니다 🍏이번 포스팅에서는 XMLParser에 대해 알아보겠습니다 🙋🏻 네트워크 통신을 하고 응답값으로 대부분 JSON 형식으로 처리를 하는것에 익숙할거에요.그런데, 간혹 어떤 공공 API들은 XML 형식으로 응답을 주는 경우도 있습니다.정말 대부분이 JSON으로 주긴하지만, 그래도 XML로 준다해서 포기할 수 없으니 XML 응답값을 어떻게 파싱하고 뷰에 나타낼 수 있는지 한번 XMLParser를 통해서 알아봅시다 😄 그럼 바로 레츠고! 🚀 XMLParser우선 XMLParser에 대해 개념을 알아본 다음에 실제로 이용해볼께요.XMLParser는 DTD 선언을 포함해 XML 도큐먼트의 이벤트를 다루는 파서라고 보시면 됩니다.즉 쉽게 말해서 XML 형식을 우리 Swift 모델로 파..
-
What's new in Swift 5.10Swift 2024. 3. 21. 18:55
안녕하세요. 그린입니다 🍏 이번 포스팅에서는 Swift 5.10에서 어떤것들이 변했는지 학습해보겠습니다 🙋🏻 사실 Swift 5.10은 얼마전인 3월 5일에 릴리즈가 되었고, 현재 Swift 공식 레포를 들여다보면 Swift 6.0 릴리즈를 준비중이에요. 실제로 ChangeLog를 살펴보면 Swift 6.0 변화를 위해 현재 활발히 진행중인걸 볼 수 있습니다! 그래서 곧 나올 Swift 6.0을 알아보기전 Swift 5 버전대의 마지막인 Swift 5.10에 대해 살펴보겠습니다 🚀 Swift 5.10 완전히 엄격화된 동시성 체크 Swift 5.10에서는 완전히 엄격화된 동시성 체크를 통해 알려진 모든 정적 데이터 경쟁 상태에 대해 안전해졌습니다. -strict-concurrency=complete 옵션을..
-
New access modifier - packageSwift 2024. 3. 4. 19:08
안녕하세요. 그린입니다 🍏 이번 포스팅에서는 Swift 5.9에서 새로 나온 접근 제어자인 package에 대해 알아보겠습니다 🙋🏻 나온 배경 원래 기존에 접근제어자라고 하면 흔히 알고 있는 5가지가 있죠! open, public, internal, fileprivate, private 만약 여러분들이 모듈화를 시키고 다른 모듈 패키지의 코드를 가져와 사용한다고 가정할때, 대부분 public으로 작업했을겁니다. 저도 물론 그렇구요..! 여기서 public으로 작업하게되면, 패키지 내부와 외부 모두에서 접근할 수 있게 됩니다. 이 경우는 편리하긴 하지만, 바람직하지 않을때도 있습니다 🥲 패키지 외부의 코드를 공유하지 않고 패키지 내의 모듈 간에 코드를 공유하여야 하는 경우도 있으니까 말이죠! 그렇기에, 어..
-
Sequence를 알아보자 🤿Swift 2024. 1. 29. 19:06
안녕하세요. 그린입니다 🍏 이번 포스팅에서는 Swift의 Sequence에 대해 학습해보겠습니다 🙋🏻 Sequence에 대해 직접적은 아니더라도 모두 개발하시면서 알게 모르게 스며들어 있습니다! Array, Dictionary, Set 같은 Collection 타입들을 자주 사용하실텐데요. 이 컬렉션 타입들은 Sequence 프로토콜을 채택하고 있어요. protocol Collection : Sequence 그렇기에 이 시퀀스가 대체 어떤거고 기본 컬렉션 타입들을 사용하지 않고 시퀀스 타입을 만들어보는것들에 대해 알아보겠습니다. Sequence 순서라는 뜻을 가진 이 시퀀스 프로토콜은 해당 요소에 대해 순차적이고 반복적인 액세스를 제공하는 유형입니다. 아래와 같은 정의를 가져요. protocol Sequ..
-
Assertions & PreconditionsSwift 2024. 1. 25. 19:57
안녕하세요. 그린입니다 🍏 이번 포스팅에서는 Assertions과 Preconditions이라는 개념과 실제 사용되는 메서드들을 살펴볼까 합니다 🙋🏻 우선 Assertions와 Preconditions가 어떤 개념인지부터 알아보면 좋을것 같네요! Assertions & Preconditions 두가지 모두 런타임에서 사용할 수 있는 조건 검사입니다. 추가 코드를 실행하기 전에 해당 필수 조건이 충족되는지 확인하는데 사용하죠. 조건은 Bool 타입으로 결국 true이면 다음 코드를 이상없이 수행하고 만약 false이면 더 이상 코드를 실행하지 않고 앱을 죽여버립니다! 런타임 에러가 발생하죠! 즉, 강제로 앱을 꺼버릴 수 있다는 특징이자 단점이 될 수 있는 부분이 핵심적이라고 보입니다 🤔 그럼으로 사실 치명..
-
추상화와 다형성Swift 2023. 12. 11. 19:35
안녕하세요. 그린입니다 🍏 이번 포스팅에서는 추상화와 다형성에 대해 얘기해볼까 합니다 🙋🏻 다들 객체 지향 프로그래밍, 즉 OOP라고 불리는것에 대해 특징을 알고 있을거에요. 추상화, 다형성, 캡슐화, 상속 그 중에서 해당 포스팅에서는 추상화와 다형성이라는것에 대해 한번 정리하고 넘어가보겠습니다. 처음 객체 지향이라는 개념을 접하실 때 은근히 많이 헷갈려하시는 포인트인것 같아서 최대한 쉽게 풀어보면서 전달 해보고 싶어서 이렇게 포스팅을 쓰게 되었습니다ㅎㅎ 혹시 OOP에 대해 무엇인지 처음 들어보신다면 우선 다른 문서들을 먼저 참고하고 오는것이 더 도움이 될것 같아요! (나중에 여유가 있으면 OOP도 한번 정리해볼께요 😀) 그럼 추상화와 다형성 알아볼까요? 추상화 Abstraction이라고 불리는 객체지향..