전체 글
-
[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..
-
회사에서 개발자로 일한다는 것Life and Stuff 2023. 4. 24. 20:42
생각보다 많은 문제들이 있다. 단순히 코드를 잘짜는게 끝이 아니다. 코드만 신경쓰면 끝인 곳이 얼마나 될까? 대기업을 가면 그럴까? 현업에 와보니 생각보다 많은 것들이 얽혀있다. 이해관계과 비즈니스, 유지보수와 레거시 그리고 신기능.. 고려할게 한두가지가 아니다 그 순간순간 적절한 강약 조절과 적절한 선택을 해야한다. 난 아직 주니어니까 책임보다는 이게 문제인것 같아요. 라며 제시하고 문제를 하나씩 고친다. 하지만 시간이 지나 미들급이 되고 시니어가 되면 나의 코드와 선택들에 책임을 져야하겠지.
-
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) { } }