안녕하세요 :) Zedd입니다. 오늘은!! OutlineGroup과 DisclosureGroup을 공부해보려고 합니다. 애플 문서에 있는 Hierarchical Views섹션에 있는 친구들이에요! OutlineGroup disclosure views를 사용하여 데이터 계층 구조를 나타낼 수 있는 View가 필요할 때 OutlineGroup을 사용하면 됩니다. 정의에서 말한 데이터 계층 구조...라고 하면 가장 쉽게 생각 할 수 있는게 이런 폴더 계층 구조일 것 같아요. 애플 예제를 살펴볼게요. 이렇게 FileItem타입이 있습니다. 파일이 자식으로 또 파일을 가질 수 있으므로 children의 타입은 [FileItem]이고, 가질수도 있고 안가질수도 있기때문에 최종 타입은 [FileItem]?이 됩니다...
안녕하세요 :) Zedd입니다. SwiftUI에 어떤 View들이 있는지 잘 모르니까..아는 View들로 어케어케하려는 제 자신을 발견.. 그래서 View들을 공부하려고 합니다. 특히 ContainerView!!! Form settings 또는 inspectors같이 데이터 입력에 사용되는 컨트롤을 그룹화하기 위한 컨테이너 눈으로 봅시다! Form을 쓴것과 안쓴것입니다. Form을 쓰면 왼쪽 그림과 같이 Control들을 그룹화하기 용이해요! Group view content를 위한 affordance(행동 유도성...???) 정의는 어려우니 예제로 같이 봅시다. 이렇게 VStack안에 10개의 아이템이 있습니다! 여기에 11번째 아이템을 추가해볼게요. 추가하면 이렇게 에러가 납니다..!! 왜 에러가 나..
안녕하세요 :) Zedd입니다. 오늘은 onChange(of:perform:)에 대해서 공부해보겠습니다! onChange(of:perform:) 특정 값이 "변경" 될 때 action을 실행하고 싶으면 이 onChange(of:perform:)를 사용하면 됩니다. value : 클로저 실행 여부를 결정할 때 확인 할 값 action : 값이 변경될 때 실행할 클로저 newValue : 비교 검사에 실패한 새 값. Q : newValue가 어딨어.. A : 이따 나옵니다. - onChange를 사용하여 side-effect를 트리거 할 수 있음. - onChange는 메인스레드에서 호출됨. -> 메인 스레드에서 긴 작업을 실행하지 말것. - 값 변경에 대한 응답으로 긴 작업을 실행해야하는 경우 백그라운드 ..
안녕하세요 :) 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입니다. 방금 SwiftUI 좀 보다가 ListStyle에 도대체 뭐가 있는지...궁금해져서 이 ListStyle의 종류를 공부해보려고 해요! + ) 2020.09.06에 글을 업데이트 했습니다. ListStyle이 3개가 더 나왔더라구요. 제 환경은 Xcode 12 Beta 6입니다. 일단 List를 만들어줍니다. 이렇게..그럼 오른쪽과 같이 나올텐데요. 얘의 List Style을 변경할 수 있습니다. 아니 근데 그래 난 listStlye을 바꾸고싶어!!!! 하고 엔터를 누르면 이렇게 나오잖아요? 그럼 내가 ListStyle이 뭐 어떤게 있는지 어케알아 미친넘들아 . 치면 뭐라도 나오든가..ㅠㅠ 사실 원래 syntax는 이렇게 할 수 있었나본데... 지금은 안됩니다. 암튼 Lis..
안녕하세요 :) Zedd입니다. 오늘은 그냥 기록용 글입니다. 이건 SwiftUI로 한건데, 뭐로 하든 핵심적인 부분은 똑같으니 그냥 보셔도 될 것 같아요. Github으로 로그인 하기 1. OAuth App만들어주기 이렇게 들어가준다. 2. New OAuth App을 눌러준다. 3. Application 정보 채워주기 일단 Application 이름은 오른쪽 그림처럼 나오니 참고. Q : Authorization callback URL은 뭐냐? 먼저, 로그인 과정을 상상해봅시다 내 앱에 어떤 버튼이 있고, 해당 버튼을 누르면 이 화면이 나오게 됩니다. 이 화면은 사파리로 열리는 웹뷰인데요. 그리고 앱 안에서 열리는게 아니라, 외부 사파리 앱으로 열리기 때문에 사파리가 열리면서 내 앱을 떠나게됩니다. 그..
안녕하세요 :) Zedd입니다. 오늘은 WidgetCenter에 대해서 공부해보겠습니다. 읽기전에 반드시!!!! 여기에 있는 글들을 보시고 오셔야 합니다! WidgetCenter 사용자가 구성한 Widget 리스트를 포함하고 Widget Timeline을 다시 로드하는데 사용되는 객체..입니다. 애플 특 : 정의를 봤지만 이해가 안감 Widget Center라고 하니까 뭔가 Widget을 관장하는...뭔가 그런 느낌이 들죠!? WidgetCenter는 정의에서 말했듯이 1. 사용자가 구성한 Widget 리스트를 포함 2. Widget Timeline을 다시 로드 이렇게 두가지 역할을 합니다. 그럼 첫번째부터 차근차근 봅시다 XD 1. 사용자가 구성한 Widget 리스트를 포함 Zedd : Widget C..
- WWDC
- Xcode
- actor
- swift tutorial
- np-complete
- 제이슨 파싱
- Accessibility
- swift 공부
- 회고
- swift delegate
- 스위프트
- IOS
- Swift
- github
- Git
- SwiftUI
- swift array
- WKWebView
- iOS delegate
- swift3
- np-hard
- FLUTTER
- UIBezierPath
- ios 13
- fastlane
- swift sort
- 피아노
- 스위프트 문법
- WidgetKit
- Combine
- Total
- Today
- Yesterday