반응형 💻 Development19 [SwiftUI] SwiftUI Concepts Tutorials * 공부했던 내용을 주관적으로 해석하여 '제가' 이해하기 쉽도록 작성하였습니다. 잘못된 정보가 있을 시 알려주시면 제게 큰 힘이 됩니다! 메크로도 어느정도 마무리 되었겠다, 초심으로 돌아와서 SwiftUI의 가장 기초인 구조부터 다시 뜯어보기로! (사실 메크로 오늘 끝남) Section 1. [ Exploring the structure of a SwiftUI app ] import SwiftUI // 1단계 @main // 2단계 struct MyApp: App { // 3단계 var body: some Scene { // 4단계 WindowGroup { // 5단계 ContentView() // 6단계 } } } 1 단계 SwiftUI의 기호 및 기능에 액세스하기 위해 앱은 import선언을 사용하여.. 2023. 11. 30. [App Dev Tutorials] Getting started with Today ~ * 공부했던 내용을 주관적으로 해석하여 '제가' 이해하기 쉽도록 작성하였습니다. 잘못된 정보가 있을 시 알려주시면 제게 큰 힘이 됩니다! [ Getting started with Today ] 지난 기간동안 Scrumdinger을 만들면서 Swift와 SwiftUI에 대한 전반적인 이해를 했다면, 오늘부터는 UIKit을 공부를 해보려고 한다! 역시나 자료는 App Dev Tutorials UIKit는 그래피컬 프레임워크이다. -> 디자인을 하듯, 하나하나 그려나간 다음 역할을 부여하는 방식이라고 함. UIKit을 사용하면 포괄적인 표준 컴포넌트 라이브러리를 사용하여 앱의 인터페이스를 정의하고 관리할 수 있다. 광범위한 API 지원 거의 또는 전혀 수정하지 않고 iOS 앱.. 2023. 10. 5. [SwiftUI] 0928 우당탕탕 Scrumdinger 만들기(완) - Trigger sound with AVFoundation ~ (추석연휴 복습분량 추가) * 공부했던 내용을 주관적으로 해석하여 '제가' 이해하기 쉽도록 작성하였습니다. 잘못된 정보가 있을 시 알려주시면 제게 큰 힘이 됩니다! 해당 작업을 하기 전에 작업 파일에 사운드 파일과 AVPlayer 모델을 넣어주었다. (이에 대한 설명은 자세히 나와있지 않았음) import SwiftUI import AVFoundation // AVFoundation 추가해서 사운드가 들어갈 수 있게 했음 struct MeetingView: View { @Binding var scrum: DailyScrum @StateObject var scrumTimer = ScrumTimer() private var player: AVPlayer { AVPlayer.sharedDingPlayer } var body: some .. 2023. 9. 28. [SwiftUI] 0927 우당탕탕 Scrumdinger 만들기 - Extract the meeting header~ * 공부했던 내용을 주관적으로 해석하여 '제가' 이해하기 쉽도록 작성하였습니다. 잘못된 정보가 있을 시 알려주시면 제게 큰 힘이 됩니다! https://developer.apple.com/tutorials/app-dev-training/managing-state-and-life-cycle#Extract-the-meeting-header Managing state and life cycle | Apple Developer Documentation Scrumdinger keeps you informed as your scrum changes. To build this key feature in the app, you’ll use life cycle methods to control a model that m.. 2023. 9. 27. [SwiftUI] 0922-25 우당탕탕 Scrumdinger 만들기 - Passing data with bindings * 공부했던 내용을 주관적으로 해석하여 '제가' 이해하기 쉽도록 작성하였습니다. 잘못된 정보가 있을 시 알려주시면 제게 큰 힘이 됩니다! [ Passing data with bindings ] 유저가 스크럼의 테마를 직접 지정할 수 있도록 테마뷰를 컴포넌트로 만들고 연결을 하는 작업했음 -> 이제 이걸 바인딩을 통해 데이터를 연결시켜주는 작업을 할 예정 Detail screen은 Edit screen에서 만든 변화에 대한 반응이 필요하다. 그래서 Detail screen는 Edit screen와 Source of truth 공유가 필요한 상황임! -> Edit screen의 State property를 Detail.. 2023. 9. 26. [SwiftUI] 0920-21 우당탕탕 Scrumdinger 만들기 - Section vs Group / Static / Creating the edit view ~ * 공부했던 내용을 주관적으로 해석하여 '제가' 이해하기 쉽도록 작성하였습니다. 잘못된 정보가 있을 시 알려주시면 제게 큰 힘이 됩니다! Group vs Section 의미와 용도의 차이를 구분하자! Group 요소를 단지 묶어주는 역할, 성격이 비슷한 요소를 묶는다던지, 특정 요소에 대해서 다른 속성값을 주고 싶을때도 쓰임 그룹을 묶는다고 해서 UI적으로 바로 반영되는 부분은 없다 Section 구분자로써 역할을 함. 섹션을 나눠줌 (섹션 안에 그룹핑 하는 역할을 하기도 함) 폼이나 리스트 등을 다룰 때 그들의 제목을 달아줄 때도 쓰임 섹션으로 묶으면 UI적으로 바로 반영이 된다. (eg) List 안에서 Section을 묶으면 따로 떨어뜨려서 리스트가 만들어진다. (설정앱) 각 요소에 Header 설.. 2023. 9. 22. [SwiftUI] 0918-19 우당탕탕 Scrumdinger 만들기 - Managing data flow between views~ * 공부했던 내용을 주관적으로 해석하여 '제가' 이해하기 쉽도록 작성하였습니다. 잘못된 정보가 있을 시 알려주시면 제게 큰 힘이 됩니다! [ Managing data flow between views ] 하나의 정보를 여러군데에서 복사해서 사용하면 수정 등의 단계를 거치면서 불일치가 일어날 수 있다. 이러한 문제를 피하기 위해선 앱의 각 데이터 요소에 대해 Single Source of truth를 사용하여야 한다. 데이터의 일관성과 정확성을 유지하는 중요한 개념 요소를 하나의 위치에 저장한 후에 원하는 곳에다 동일한 데이터를 엑세스 할 수 있도록 하는게 필요한데, @State와 @Binding을 통해서 이를 해결할 수 있다. State: 값 유형의 속성에 대한 저장소.. 2023. 9. 18. [SwiftUI] 0915 우당탕탕 Scrumdinger 만들기 - Creating a navigation hierarchy * 공부했던 내용을 주관적으로 해석하여 '제가' 이해하기 쉽도록 작성하였습니다. 잘못된 정보가 있을 시 알려주시면 제게 큰 힘이 됩니다! SwiftUI View를 만드는 방법을 배웠지만, 그 사이를 탐색하는 방법을 알아야 한다. 이 단계에서는, 내비게이션 계층 구조를 만들 예정! 1. 목록 화면으로 시작한 다음 세부 보기를 제시 2. 마지막으로, 타이머 보기를 내비게이션 스택의 맨 위로 밀어 넣을 것 [ Section1 - Set up navigation ] 와 시작하자 마자 난관; 이 아니라 NavigationLink인데 Stack으로 잘못적은거였음ㅎ Toolbar -> 현재 컨텍스트와 관련된 항목 추가, 삭제, 주석 추가, 사진 촬영과 같은 일을 담당 import SwiftUI struct Scrum.. 2023. 9. 15. [SwiftUI] 0914 우당탕탕 Scrumdinger 만들기 - Displaying data in a list * 공부했던 내용을 주관적으로 해석하여 '제가' 이해하기 쉽도록 작성하였습니다. 잘못된 정보가 있을 시 알려주시면 제게 큰 힘이 됩니다! [ Section1 - Display a list of daily scrums ] ScrumView 를 하나 새로 만들고, 기존에 만든 카드뷰를 불러와서 List를 만드는 작업을 진행했다. List를 만들 때 (id: \.name) 를 활용하여 식별되게 했다. 목록은 컬렉션의 개별 항목을 식별하는 방법이 필요하다. 현재로서는, 테스트 데이터의 모든 스크럼은 이름이 다르기 때문에, 제목 속성을 사용하여 각 항목을 식별할 수 있다. 참고 블로그문서 [ Section2 - Make scrums identifiable ] 위 방법대로 리스트를 만들면, 이름으로 데이터를 구분하.. 2023. 9. 14. [SwiftUI] 0913 우당탕탕 Scrumdinger 만들기 - Configuration과 Extension * 공부했던 내용을 주관적으로 해석하여 '제가' 이해하기 쉽도록 작성하였습니다. 잘못된 정보가 있을 시 알려주시면 제게 큰 힘이 됩니다! 헷갈리니까 한 번 더 정리... 인스턴스 (instance) - Swift 에서는 클래스 / 구조체 / 열거형에서 생성된 객체를 '인스턴스'라고 지칭 프로퍼티 (Property) - Swift 에서는 클래스, 구조체, 열거형과 연관되어 있는 정보 / 값 등을 의미 메서드 (Method) - Swift 에서는 클래스, 구조체, 열거형과 관련된 함수라는 의미로 사용 프로토콜(protocol) - https://babbab2.tistory.com/174 (내 기준 이게 이해 젤 잘된 문서였음..) 함수 작성법 - https://iosdevlime.tistory.com/ent.. 2023. 9. 13. 이전 1 2 다음 반응형