swiftUI7 [SwiftUI] iOS14 이상 신규 프로젝트에서 기존 AppDelegate 에서 수행했던 작업 수행하기 XCode에서 Interface를 SwitfUI로 프로젝트 앱을 생성하면 기본적으로 App 프로토콜을 상속받아 WindowGroup를 사용하도록 구성되어 있습니다. 그렇기 때문에 기존에 Push Notification Delegate같은 작업을 사용하기 위해서는 UIApplicationDelegateAdaptor 프로퍼티 래퍼를 사용해야 합니다. 이를 사용하여 기존 UIKit 앱 델리게이트 클래스를 SwiftUI 앱에 통합할 수 있습니다. 이를 통해 UIKit으로 작성된 기존 앱 델리게이트의 기능을 활용하고 이를 SwiftUI와 함께 사용할 수 있습니다. UIApplicationDelegateAdaptor를 사용하는 주된 이유는 SwiftUI의 앱 프로토콜에서 사용할 수 없는 앱 델리게이트 메서드 및 프.. 2023. 4. 3. [SwiftUI/Combine ]SwiftUI Combine을 활용한 Network 매니저 클래스 활용 Combine 프레임워크는 비동기적인 작업을 처리하는 데 매우 효과적인 도구입니다. MVVM 패턴에서의 각 구성 요소는 다음과 같습니다. Model: 앱의 데이터를 나타냅니다. View: 사용자에게 데이터를 표시합니다. ViewModel: Model과 View 간의 중개자 역할을 합니다. 1. Netwokr Model Class 생성 네트워크 API 클래스는 Model에 해당하며, ViewModel에서 호출됩니다. 따라서, API 클래스에서는 네트워크 요청을 만들고 응답을 처리하는 로직을 작성해야 합니다. 다음은 Swift Combine과 MVVM 패턴을 사용하여 네트워크 API 클래스를 만드는 예시입니다. class NetworkService { enum NetworkError: Error { case.. 2022. 3. 25. [SwiftUI] iOS 13에서 ScrollViewReader 사용하기 iOS 14에서 ScrollViewReader 사용하기 예제는 아래 링크에 작성해두었다. https://steady-dev.tistory.com/128 [SwiftUI] ScrollViewReader iOS 14에서 새로 추가된 ScrollViewReader는 ScrollView에서 Scoll to Bottom, Scroll to Top과 같이 ScrollView에서 특정 위치로 스크롤을 할 수 있도록 해주는 View 이다. 아래 예제 코드와 같이 사용할 수 있다.. steady-dev.tistory.com 사용방법 iOS 14부터 새로 생긴 ScrollViewReader를 사용하기 위해서는 구현을 해서 사용한다. 오픈 소스는 아래 링크를 통해 사용한다. https://github.com/Amzd/Scr.. 2021. 11. 1. [SwiftUI] iOS13에서 @Namespace 사용하기 @Namespace는 iOS 14에서 새로 생긴 propery wrapper 이다. iOS 13에서 사용하기 위해서는 코드를 사용해야 한다. 아래와 같이 코드를 작성하고, 더보기 import SwiftUI @available(iOS 14, *) struct NamespaceWrapper: View { @Namespace var namespace var content: Content var body: some View { content.environment(\.namespace, namespace) } } @available(iOS 14, *) struct NamespaceReader: View { @Environment(\.namespace) var namespace var content: Content.. 2021. 11. 1. 이전 1 2 다음