[TIL] 09.13

Junyoung_Hong·2023년 9월 13일
0

TIL_9월

목록 보기
10/19
post-thumbnail

1. UIKit에서 Preview 기능 사용하기

Xcode에서 프로젝트를 진행하면서 가장 큰 불만이 코드를 짠 후에, 빌드를 해야지 확인이 가능하다는 점이었다. Flutter 프로젝트에서는 실시간으로 변화가 적용되는 기능이 있어서 좋다고 생각했는데, Xcode에서도 이와 유사한 기능을 사용할 수 있다는 것을 알게되었다.

1-1. SwiftUI import 하기

이렇게 실시간으로 미리보기를 하는 기능을 Preview라고 한다. 원래 이 기능은 SwiftUI에서 지원하는 기능이다. 따라서 UIKit 프로젝트에서 사용하려면 SwiftUI를 import 해줘야 한다.

import SwiftUI

1-2. extension으로 빼기

이 기능과 관련된 내용을 extension으로 빼면 좀 더 편하다.

#if DEBUG
extension UIViewController {
    private struct Preview: UIViewControllerRepresentable {
            let viewController: UIViewController

            func makeUIViewController(context: Context) -> UIViewController {
                return viewController
            }

            func updateUIViewController(_ uiViewController: UIViewController, context: Context) {
            }
        }

        func toPreview() -> some View {
            Preview(viewController: self)
        }
}
#endif

1-3. ViewController에 적용하기

이제 Preview기능을 사용하고자 하는 ViewController에 구조체를 만들어주면 끝이다.

// Preview를 위한 구조체
struct MainVC_Preview: PreviewProvider {
    static var previews: some View {
        MainViewController().toPreview()
    }
}

MainViewController() 부분을 자신이 원하는 ViewController로 바꾸면 된다.

profile
iOS 개발자를 향해 성장 중

0개의 댓글

관련 채용 정보