오늘은 SwiftUI를 활용해 Pagination 하는 법을 구현하였다. 이 페이지네이션은 앱 개발을 진행하면서 어떤 항목에서 필수로 들어가야하는 부분인 것 같다. UIKit을 통해서 구현할때는 조금 애를 먹었는데 SwiftUI는 보다 손쉽게 구현이 가능한 것 같다. 먼저 페이지 네이션이 필요한 이유는 간단하게 말하자면 성능 최적화에 있다. 대량의 데이터를 한번에 로드하면 앱 성능 저하와 메모리 사용량이 증가할 수 있다. 예를 들어 1000개의 리스트가 업데이트 되어야하는데 이용자가 보는건 10개 정도라면 나머지 990개는 보이지도 않는데 호출이 되어버린다고 했을때 쓸모없는 메모리 사용량이 많이 증가하고 그 만큼 앱 성능은 떨어질 수 있기 때문이다. 또한, 한번에 많은양을 로딩하는 것이 아닌 스크롤 하면..
오늘은 SwiftUI에서 Charts 사용에 대해서 글을 남기려고 한다. 먼저 SwiftUI에서 Charts는 Swift 4.0에서 새롭게 나온 API로 데이터를 넣으면 손 쉽게 그 데이터를 시각화 할 수 있도록 차트를 만들어주는 아주 편리한 기능이다. Charts는 iOS 16 버전 이상에만 지원이 되고 해당 차트를 사용하기 위해서는 Xcode 14버전 이상을 사용해야 한다.공식 문서를 통해 더 자세하게 알아보자!https://developer.apple.com/documentation/charts/ Swift Charts | Apple Developer DocumentationConstruct and customize charts on every Apple platform.developer.apple..
SwiftUI와 UIKit은 서로 다른 프레임워크로 각각 고유한 생명주기를 가지고 있다. SwiftUI는 선언형 프레임워크로 뷰의 상태에 따라 UI가 자동으로 업데이트 되도록 설계되어 있고 UIKit은 명령형의 프레임워크로 개발자가 뷰의 변화를 수동으로 제어 해야한다는 특징을 가지고 있다. 이러한 특징에서 비롯되어 SwiftUI의 생명주기는 UIKit의 생명주기와 다르게 동작한다. 특히 상태 관리, 화면 전환, 데이터 바인딩의 방식에서 큰 차이가 있다. UIKit의 생명주기를 다룬 글은 하단에 있으니 넘어가도록 하고 SwiftUI에서 이와 같은 역할을 하는 특징에 대해서 알아보도록 하자.https://dongdida.tistory.com/112 iOS View와 App의 Life Cycle (생명주기) ..
오늘은 SwiftUI 에서 자주 만나게 되는 onChange에 대해서 알아보는 시간을 가져보자https://developer.apple.com/documentation/swiftui/view/onchange(of:perform:)먼저 onChange는 뷰의 특정 값이 변경될 때 동작을 수행할 수 있게 해주는 도구라고 보는 편이 이해하기 쉽다 🙂 onChange를 통해 상태 변화에 반응하고 다른 효과를 실행하거나 상태를 업데이트하는 등 다양한 방면에 사용된다. 예를 들어 사용자의 입력이 변화할때 UI를 업데이트하거나 특정 동작을 수행하는데 사용할 수 있다..onChange(of: value, perform: { newValue in // 'value'가 변경되었을 때 실행할 코드})기본적인 사용 문..
SwiftUI를 접하면서 이 Wrapper를 활용해서 데이터 변동을 관리하는 내용이 나에겐 아주아주 흥미로운 것 같다 프로젝트를 진행하며 역할을 줄때마다 재밌다..오늘은 이전에 살짝 어떤 차이가 있나 알아봤지만 오늘은 자세하게 한번 파보려고 한다. 간단한 iOS 기기 목록을 나타내는 방식으로 해당 내용을 정리해 보도록 하자! @StateObject먼저 이 StateObject는 SwiftUI에서 뷰의 수명동안 객체의 상태를 소유하고 관리하는 역할을 담당한다. 그렇기 때문에 StateObject는 부모뷰에서 View가 처음 생성되어 초기화 할때 주로 사용된다는 특징을 가지고 있다! 먼저 더미 데이터 모델을 만들어보자import Foundationstruct iOSdeviceModel: Identifiabl..
오늘은 SwiftUI 중에서 propertyWrapper 로 사용되는 것들 중 가장 기초가 되는 State, Binding에 대해서 다시 한번 정리할 겸 글을 작성해보려고 한다. State먼저 SwiftUI에서 State는 뷰의 상태를 관리하는데 사용된다. 뷰 내부에서만 사용되는 상태이며, 상태가 변경되면 해당 상태를 사용하는 뷰가 다시 렌더링 된다. 보통 뷰의 로컬 상태를 관리하는데 사용되며 private를 사용하고 뷰의 최상단에서 관리되어야 한다.이로 인해서 상태 관리가 뷰 내부에 캡슐화 되어 더욱 안전하게 관리 될 수 있게 된다. 예제코드로 살펴보자struct StateBasic: View { @State var backgroundColor: Color = Color.green @Stat..