SwiftUI9 [SwiftUI] SwiftUI 앱 생명주기(Life-Cycle) 생명 주기(Life-Cylcle)란 앱의 최초 실행부터 앱이 완전히 종료되기까지 앱이 가지는 상태와 그 상태들 사이의 전이를 뜻함. 여기서 앱의 상태는 앱이 어떠한 것을 할 수 있는 가~ 를 결정. 앱의 생명주기(App's life Cycle)는 앱의 실행/종료 및 앱이 Foreground/Background 상태에 있을 때, 시스템이 발생시키는 event에 의해 앱의 상태가 전환되는 과정을 뜻함. 프로젝트를 생성하면 (프로젝트 이름) + App으로 만들어진 파일을 볼 수 있음 🔽 import SwiftUI @main struct SwiftUI_lifecycleApp: App { var body: some Scene { WindowGroup { ContentView() } } } @main 이 속성 래퍼.. 2024. 4. 3. [SwiftUI] ObservableObject, @Published, @ObservedObject, 그리고 @StateObject 왜 생김?? SwiftUI에서 MVVM 패턴을 사용할 때 반응형 프로그래밍을 기반으로 구조를 짜게 됨. 우리는 ObservableObject로 ViewModel을 설정하고, View 단에서는 ViewModel에 @ObservedObject를 붙여줌으로써 ViewModel의 변화를 관찰할 수 있고, 그 변화에 반응할 수 있음. 그런데 iOS 14부터는 @StateObject라는 녀석도 등장하게 되는데 오늘은 ObservableObject, @Published, @ObservedObject에 대해 공부하고 왜???? 🤷♂️ @StateObject가 등장했는지 알아볼 거임!!!! ObservableObject ObservableObject는 개체가 변경되기 전에 내보내는 게시자가 있는 개체 유형이라고 소개하고 있음! O.. 2024. 3. 18. [SwiftUI] 간단한 Tasks 관리 만들어보기 이 글은 UI에 대한 내용을 다루기보다는 데이터를 주고받는 부분을 중점 적으로 볼 것이다!! 왜냐??? 아직 잘 못하거든... 우선 어떻게 동작하는지 보면 먼저 보자ㅏㅏ ㅏ 이게 TasksMainView이다. 위는 초기상태이다!! 아직 아무것도 Task가 떠있지 않다. + 버튼을 누르면 List에 TaskView가 추가된다. List에 View를 갈아 끼우는 식으로 동작한다. Edit 버튼을 누르면 List에 있는 TasksView가 EditTasksView로 변경된다. EditTasksView로 바뀌면 상단 버튼이 "Done"으로 변경된다. EditTasksView가 떠있는 상태에서 Done을 누르면 다시 TasksView로 돌아가고, TasksView에는 EditTasksView에서 변경한 사항이 반.. 2024. 3. 8. [SwiftUI] Pinterest 레이아웃 구현 후 라이브러리에서 사진 추가 [2] 이번 글은 저번 글에 이어서 작성한 글이다!! https://h2kangrok.tistory.com/26 [SwiftUI] Pinterest 레이아웃 구현 후 라이브러리에서 사진 추가 [1] 위 사진은 Pinterest 캡처를 한 이미지이다. 우선 Pinterest와 같은 레이아웃을 구현해 볼 것이고 저번에 사용해 본 UIImagePicker를 이용해서 라이브러리에서 사진을 추가해 보는 거 까지 구현해 볼 것이 h2kangrok.tistory.com 저번글을 보면 원하는 데로 구현도 잘 안되고 해서 너무 아쉽게 마무리는 했는데 스터디를 통해서 알아낸 방법으로 수정해서 해결하게 되었다!!!! 우선 잘 작동하는지 한번 볼까~~~!!!! 사진도 잘 추가되고 ~~ 이미지도 각 Stack에 잘 나누어져서 보인다!.. 2024. 3. 1. [SwiftUI] Grid, GridItem, LazyVGrid, LazyHGrid Grid는 뭘까?? 🤔 Grid는 2차원 레이아웃으로 다른 뷰를 정렬하는 컨테이너 뷰입니다.라고 한다. 말로만 하면 이해가 안 되깐 예제를 한번 보자!! Grid { GridRow { Text("Hello") Image(systemName: "globe") } GridRow { Image(systemName: "hand.wave") Text("World") } } GridRow 구조 컬렉션으로 Grid를 초기화하여 2차원 레이아웃을 만들었다! 각 GridRow의 첫 번째 보기는 Grid의 첫 번째 열에 나타나고, 두 번째 보기는 두 번째 열에 나타나는 식으로 나타난다. 코드를 실행시켜 보면 두 개의 행과 두 개의 열이 있는 Grid가 만들어진다!! Grid는 행과 열 생성을 단일 작업으로 처리할 수 있다.. 2024. 2. 26. [SwiftUI] Pinterest 레이아웃 구현 후 라이브러리에서 사진 추가 [1] 위 사진은 Pinterest 캡처를 한 이미지이다. 우선 Pinterest와 같은 레이아웃을 구현해 볼 것이고 저번에 사용해 본 UIImagePicker를 이용해서 라이브러리에서 사진을 추가해 보는 거 까지 구현해 볼 것이다. https://h2kangrok.tistory.com/25 [SwiftUI] 라이브러리에서 이미지 가져오기 UIImagePicker 적용 우리가 사용하는 앱들 음.... 인스타만 봐도 프로필을 설정하는데 그거 비슷하게 위와 같이 마이페이지에서 나의 프로필이미지를 라이브러리에서 가져와 설정할 수 있는 기능을 구현해 볼 것이 h2kangrok.tistory.com 우선 코드먼저 보자 우선 내가 이해한 데로 MVVM 패턴에 맞추어서 구현해 보았다. 틀린 점이 있으면 꼭!! 지적 부탁드린.. 2024. 2. 22. 이전 1 2 다음