안녕하세요 :) Zedd입니다. 오늘은 App / Scene / View에 대해서 공부를 해보려고 합니다. 참고로 App, Scene은 iOS 14부터 사용이 가능합니다. App - 프로토콜 - 앱의 구조와 동작을 나타내는 타입 or 앱의 content를 나타내는 scene representing타입. (Xcode 12.2로) SwiftUI앱을 만들면 기본적으로 (내 타겟 이름) + App이라는 타입이 App 프로토콜을 준수하도록 되어있습니다. - body라는 프로퍼티가 요구됩니다. 그리고 body는 Scene 프로토콜을 준수하는 인스턴스를 리턴해야합니다. - 앱의 진입점을 제공하기 위해 타입 앞에 @main attribute를 추가해야합니다. Scene - 프로토콜 - Scene은 시스템에서 관리 &&..
안녕하세요 :) Zedd입니다. 오늘은!! OutlineGroup과 DisclosureGroup을 공부해보려고 합니다. 애플 문서에 있는 Hierarchical Views섹션에 있는 친구들이에요! OutlineGroup disclosure views를 사용하여 데이터 계층 구조를 나타낼 수 있는 View가 필요할 때 OutlineGroup을 사용하면 됩니다. 정의에서 말한 데이터 계층 구조...라고 하면 가장 쉽게 생각 할 수 있는게 이런 폴더 계층 구조일 것 같아요. 애플 예제를 살펴볼게요. 이렇게 FileItem타입이 있습니다. 파일이 자식으로 또 파일을 가질 수 있으므로 children의 타입은 [FileItem]이고, 가질수도 있고 안가질수도 있기때문에 최종 타입은 [FileItem]?이 됩니다...
안녕하세요 :) Zedd입니다. 오늘은 onReceive(_:perform:)에 대해서 공부해보겠습니다! onReceive(_:perform:) 정의 : view에서 지정된 publisher가 emit한 데이터를 감지할 때 수행할 작업을 추가. 정의는 이렇게 생겼는데, publisher는 말 그대로 그냥 구독할 publisher고 action은 publisher가 이벤트를 생성할 때 수행할 작업이에요. 그럼 써봅시다! 그냥 onReceive의 publisher자리에는 Publisher만 들어가면 어떻게는 쓸 수 있습니다. 그냥 가장 쉬운 예제를 들고왔어요. 내가 어떤 publisher의 이벤트에 따라 뭔가를 해주고싶다면, 위처럼 publisher를 만들고 onReceive에 넣어주면 됩니다. 사실 위 코..
안녕하세요 :) Zedd입니다. 이건 그냥 기록용 글입니다. 부디 저와같은 이슈를 겪으신 분들에게 도움이 되었으면 좋겠네요. 제목이 살짝 구구절절인데.. 설명해드릴게요. struct ZeddView: View { var body: some View { HStack { Text("제목입니다.") Spacer() Button(action: { // 현재 선택한 view(row)를 지우는 로직 }, label: { Image(systemName: "minus.circle") .foregroundColor(Color.red) }) } } } 이런식으로 view를 구성했습니다. 대충 이런 View가 나오게 됩니다. 보시다시피 Text영역, Spacer영역, Button영역으로 잘 나눠져있습니다. Button을 누..
안녕하세요 :) Zedd입니다. 오늘은 WidgetCenter에 대해서 공부해보겠습니다. 읽기전에 반드시!!!! 여기에 있는 글들을 보시고 오셔야 합니다! WidgetCenter 사용자가 구성한 Widget 리스트를 포함하고 Widget Timeline을 다시 로드하는데 사용되는 객체..입니다. 애플 특 : 정의를 봤지만 이해가 안감 Widget Center라고 하니까 뭔가 Widget을 관장하는...뭔가 그런 느낌이 들죠!? WidgetCenter는 정의에서 말했듯이 1. 사용자가 구성한 Widget 리스트를 포함 2. Widget Timeline을 다시 로드 이렇게 두가지 역할을 합니다. 그럼 첫번째부터 차근차근 봅시다 XD 1. 사용자가 구성한 Widget 리스트를 포함 Zedd : Widget C..
안녕하세요 :) Zedd입니다. 오늘은 지난 시간에 이어 Widget을 공부해보겠습니다. 흠..지금 생각해봤는데 위젯은 뭔가 딱 앱이 갖춰진 상태에서 하면 좋을 것 같은데.. 일단 저는 위젯에 대해 1도 모르는 상태이기 때문에...위젯만!!! 해보겠습니다. 뭐 이러한 코드들이 있을겁니다. ㅇㅣㄹ단 이 친구들을 이해하는게 먼저이니...제일 쉬운 친구부터 봅시다. 하단에 있는 (preview위에 있는) "내_위젯_타겟_이름"Widget 타입이 보이실겁니다. Widget 제 타입이 Widget 프로토콜을 채택하고 있는 것을 보실 수 있습니다. Widget프로토콜은 Widget의 컨텐츠를 나타내는 configuration타입입니다. (The type of configuration representing the ..
안녕하세요 :) Zedd입니다. SwiftUI의 NavigationView 공부를 기록해놓으려고 합니다 :D NavigationView는 말 그대로..UIKit의 UINavigationController 역할을 한다고 보면 되겠죠? NavigationView의 정의를 잠깐 보고 가자면, navigation hierarchy에서 경로를 나타내는 여러 View를 표시하기 위한 View.. (원문에는 representing a visible path(가시경로..?)로 나오는데 저는 그냥 경로라고...) 사용법은 보여주고 싶은 View를 NavigationView로 감싸주기만 하면 됩니다. 그럼 아직 아무것도 안나올텐데요. NavigationBarTitle이나 NavigationItem을 추가해줘야 GNB영역이..
안녕하세요 :) Zedd입니다. 오늘 공부해볼건 SwiftUI의 View Lifecycle을 공부해볼거에요. 일반적으로 ViewController Lifecycle을 공부하면..굉장히 많았는데요 좀 많죠!?SwiftUI에도 ViewController는 아니지만..애초에 ViewController가 없기도 하지만요.View의 Lifecycle이 존재한답니다. https://developer.apple.com/documentation/swiftui/view 의 Handling View Events 섹션에 가면 onAppear와 onDisappear라는 메소드를 보실 수 있어요! 딱 봐도 Appear됐을 때..Disappear됐을 때 실행하는 메소드같죠!?!? https://www.hackingwithswif..
- swift3
- iOS delegate
- WKWebView
- swift array
- github
- FLUTTER
- swift sort
- actor
- Accessibility
- 스위프트
- Combine
- ios 13
- fastlane
- 회고
- SwiftUI
- WWDC
- IOS
- UIBezierPath
- swift 공부
- 스위프트 문법
- 제이슨 파싱
- Git
- np-complete
- Swift
- swift tutorial
- 피아노
- Xcode
- np-hard
- WidgetKit
- swift delegate
- Total
- Today
- Yesterday