Swift
-
[SwiftUI] ViewModel 에 Command Pattern 사용해보기Swift/SwiftUI 2023. 4. 25. 22:29
struct ContentView: View { @StateObject var viewModel = ContentViewModel() var body: some View { NavigationView { ScrollView { LazyVStack { ForEach(Array(viewModel.items.enumerated()), id: \.offset) { offset, item in // MARK: - Cell NavigationLink { DetailItemView(item: item, offset: offset, delegate: viewModel) } label: { Cell(item: item, offset: 0) } } } } } } @ViewBuilder func Cell(item: Item..
-
SwiftUIWrapperVC : UIKit 에서도 SwiftUI 를 자유롭게 사용하기 위한 시도Swift/UIKit 2023. 4. 23. 21:02
최근에 어떻게 하면 UIKit 과 SwiftUI 를 자유롭게 같이 사용할 수 있을까 고민하다 만들게 되었습니다. UIKit 에서 HostingController 를 통해 SwiftUI View 를 호출하면 예상치 못한 많은 이슈를 발견하곤 했습니다. 그래서 ViewController 로 SwiftUI View 를 Wrapping 하고 SwiftUI 쪽에서도 Navigation Controller 를 사용할 수 있도록 구조화 하였습니다. GitHub - insub4067/SwiftUIWrapperVCContribute to insub4067/SwiftUIWrapperVC development by creating an account on GitHub.github.com
-
[Swift] iOS15 버전에서만 발생하는 이슈 잡기Swift 2023. 4. 22. 11:20
func hideNavigationBar(_ animated: Bool) { // 16 이하 버전에서만 실행되는 함수 if #unavailable(iOS 16) { DispatchQueue.main.async { [weak self] in self?.navigationController?.setNavigationBarHidden(true, animated: animated) } } } func executeIfiOS16() { // 16 부터 실행 가능 if #available(iOS 16) { } }
-
[xcode] xcodeCloud - CICD 연결하기Swift 2023. 3. 6. 23:47
Scheme 을 두개로 나눠주었는데 CICD 와 어떻게 연결해서 사용하면 좋을 지 정리해보았다. xcodeCloud 와 연결하면 하나의 Branch 에서 두개의 Action 으로 앞서 만든 QA, Prod Scheme 의 Archive 를 자동화 할수 있다. 아래 이미지에서 6번에 해당하는 화면은 Branch 에 변화가 생길때 Prod Scheme 을 AppStore 배포용으로 Archive 하는 내용인데 Action 을 하나 더 만들어서 QA를 None 으로 Archive 해주면 된다
-
[Xcode] Scheme 이름 가지고 오기Swift 2023. 3. 6. 23:10
Swift get `Scheme Name or Swift Compiler - Custome Flags` value at Run Time I have xcode project in swift with 3 schemes. I have plist files for each of that schemes, in that plist file i have constants values like fontname, color and logo name, etc. Supose i have 3 sche... stackoverflow.com