[iOS/SwiftUI] @ViewBuilder
·
카테고리 없음
ViewBuilderA custom parameter attribute that constructs views from closures. closure 에서 view를 구성하는 사용자 정의 매개변수 속성입니다. 코드로 바로 예시를 들어보자면!struct ContentView: View { var body: some View { VStack { // 여기서 ViewBuilder가 동작 Text("안녕하세요") Text("반갑습니다") Button("클릭") { print("버튼 클릭됨") } } }}위 코드에서 VStack 내부의 여러 뷰들이 쉼표없이 자연스럽게 나..
[iOS/Combine] Transforming Operators
·
IOS - Swift/Combine
Transforming Operators의 핵심 개념Transforming operators는 upstream publisher로부터 받은 값들을 변형해서 downstream으로 전달하는 연산자입니다.모든 operator는 publisher이며, upstream 이벤트를 받아서 조작한 후 downstream으로 전달합니다.에러 처리가 필요한 경우가 아니라면 upstream의 에러를 그대로 downstream으로 전달합니다.Mapmap은 업스트림 퍼블리셔의 모든 값의 타입을 변환시키는 Operator입니다.특징map 연산자는 업스트림 퍼블리셔로부터 전달받은 각 요소를 지정된 클로저를 사용해 변환합니다.Swift 문법 map 함수와 비슷하게 동작하고, 한 종류의 데이터를 다른 종류로 변환할 때 사용됩니다.구..
[iOS] UIkit + SwiftUI 둘다 사용하기!
·
IOS - Swift/SwiftUI
이번에 솝커톤을 나가면서 경험했던 UIkit 과 SwiftUI를 둘다 사용해야 했던 상황에서 경험한 멀티모듈 사용법 정리 UIHostingController: UIKit에서 SwiftUI View를 사용하기UIKit 기반 프로젝트에서 SwiftUI 뷰를 호스팅하는 데 사용됩니다.사용 예시:SwiftUI로 만든 특정 뷰를 기존 UIKit 뷰 계층에 삽입할 때.UIKit의 UIViewController나 UINavigationController 위에 SwiftUI 뷰를 추가할 수 있습니다.동작 방식SwiftUI 뷰를 UIKit에서 UIHostingController의 rootView로 설정하면, UIKit에서 SwiftUI 뷰를 렌더링합니다.import UIkitimport SwiftUIprivate fun..
[iOS/SwiftUI] LunchScreen 적용하기
·
IOS - Swift/SwiftUI
UIkit 에는 main 스토리보드와 더불어,항상 같이 딸려왓고 기본으로 세팅되는 LaunchScreen 이 SwiftUI에는 없었습니다. 찾아보니 스유에서는 기본적으로 런치스크린을 Info.plist 에서 관리하는것을 알았고 UIkit처럼 런치스크린을 스토리보드에서 관리하는 방법도 만들 수 있었습니다! 1. Info.plist 으로 설정하는 방법 파일의 최상단 부분에 프로젝트를 선택 후 Target > Info 으로 들어가서 Key 부분에 아래 Launch Screen을 추가해준다. 이때 Value에 적혀있는 LaunchScreenBackgroundColor 등의 이름들은 Assets에 저장한 이름대로 작성해주면 됩니다. 2. 스토리 보드 추가하기 Cmd + n 으로 LaunchScreen 추가하기 스..