Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- SWIFT
- tableView
- swift documentation
- 클린 코드
- 스위프트
- uiscrollview
- HIG
- combine
- collectionview
- Refactoring
- Xcode
- rxswift
- RxCocoa
- Observable
- Protocol
- 리펙토링
- UICollectionView
- ios
- ribs
- 애니메이션
- scrollview
- UITextView
- map
- Clean Code
- Human interface guide
- swiftUI
- clean architecture
- 리팩토링
- uitableview
- MVVM
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS - Swift] WWDC2025 정리 - swift의 새로운 기능 2편 (Subprocess, Foundation, Swift Testing, Swift 6.2) 본문
WWDC 정리/WWDC 2025 정리
[iOS - Swift] WWDC2025 정리 - swift의 새로운 기능 2편 (Subprocess, Foundation, Swift Testing, Swift 6.2)
jake-kim 2025. 6. 25. 01:03Subprocess
- 말 그대로 프로세스들을 관리해주는 모듈
- import Subprocess를 하고난 후 아래처럼 사용이 가능

Foundation 개선
- NotificationCenter 알림 등록 시 보일러플레이트 제거
- 기존엔 UIResponder 이벤트 등록 시 아래처럼 작성
- addObserver할 땐 forName: UIResponder.keyboardWillShowNotification으로 작성
- startFrame, endFrame을 구할때도 긴 코드가 필요
- 기존엔 UIResponder 이벤트 등록 시 아래처럼 작성

- 변경된 것
- 보일러 플레이트가 많이 줄어들음
- 개선1: addObserver(forName:object:queue:) -> addObserver(of:for:)
- 개선2: userInfo[UIResponder.keyboardFrameBeginUserInfoKey] as? CGRect -> keyboardState.startFrame

Observation
- Swift 6.2부터는 Observable 객체의 상태 변경을 비동기 스트림(AsyncSequence)으로 받을 수 있는 기능을 제공
- 객체의 속성 값이 바뀌는 걸 스트리밍 이벤트처럼 받아볼 수 있음 (원래 @State, @ObservedObject를 썼지만 이제 RxSwift의 subscribe처럼 변경 사항값을 관찰 가능)
- import Observation 사용

- Observations 클로저 안에서 변경사항 값을 관찰

- 여기서 Observations 클로저가 호출되는 타이밍은 변수의 willSet이 호출될 때 클로저가 실행됨

Swift Testing
- Swift 6.2부터는 Testing 라이브러리에서 테스트 결과를 저장할 수 있는 것을 제공 `Attachment.record`

- 특정 케이스에서 테스트를 종료시키고 싶은 경우 사용하는 키워드 `#expect` 새로 제공

* 참고
'WWDC 정리 > WWDC 2025 정리' 카테고리의 다른 글
Comments