티스토리 뷰

카테고리 없음

SwiftUI 탐방기 005

밀쿄 2019. 6. 21. 18:20

안녕하세요. 밀쿄 입니다.

스위프트 UI 탐방기 시리즈로 분량을 뽑고있네요.

오늘은 여태까지 느낀 SwiftUI(이하 스유)에 대해서 간단히 말하고 넘어갈께요.

일단 오토레이아웃이 그립습니다. 그리고 정말로 강력한 프레임워크인 것 같아요.

누구나 쉽고 간단하게 앱을 만들 수 있을 것 같기도하고..

여러가지 신기한 프레임워크인 것 같습니다.

언젠간 UIKit하고 섞어서 개인앤을 만들고 싶을 정도로 매력적으로 다가왔네요.

자 그럼 오늘도 시작해봅시다.

https://developer.apple.com/tutorials/swiftui/tutorials

 

Apple Developer Documentation

 

developer.apple.com

이번 챕터의 목표는

Landmarks 앱에서 사용자는 즐겨 찾는 장소에  즐겨 찾기를 표시 하고

그것을 기반으로 List를 필터링하는거네요.

먼저 row 쪽에 별을 만들어 봅시다.

라고 할려했는데

isFavorite이 보이네요.

Landmark 구조체에 isFavorite 를 추가해줍시다.

그리고 튜토리얼 파일에서 새 json을 가져옵니다.

isFavorite이 추가된 json이 필요하므로 받아옵시디.

이제 본격적으로 시작해봅시다.

row에 별을 만들어봅시다.

네 별이 만들어졌습니다.

듀토리얼에 여기에 'imageScale'란 함수가 들어가있던데

뭐하는 함수인지 한 번 보겠습니다.

왜 text지..? 저도 모르겟습니다..

텍스트와 관련된 벡터 이미지에 적용할 스케일.

case에는 large, medium, small이 있네요.

이정도만 보고 넘어가겠습니다.

(참고로 .imageScale(.medium) 넣어주세요 )

 

그러고 다음 섹션을 보면

@State 란게 나옵니다.

애플 공식 문서를 보면..

요약 정리하면

1. State는 그것 자체로 인스턴스가 아님.

2. State 래퍼로 프로퍼티 래퍼로 설정하고

 해당 프로퍼티에 새로운 값이 할당되면

해당 프로퍼티가 속한  SwiftUI뷰를 다시 그리게 한다.

3. private로 선언해야한다.

4. 바인딩을 받을려면 '$' 프로퍼티를 받아야한다.

 

이정도 되네요...

흠..어렵습니다.

사실 프로퍼티 래퍼를 이해하고 

봐야할 것 같은데..

그거에 관한 링크를 요기 달아두겠습니다.

 

계속 진행하겠습니다.

자 이렇게 @State로 선언한 변수 showFavoritesOnly를 추가해주고 고민해봅시다.

우리는 지금 버튼을 넣어야합니다.

근데 그 버튼을 키면 즐겨찾기만 보여야합니다.

그럼 일단

버튼을 킨다. -> showFavoritesOnly가 true가 된다.

즉 다시 생각하면

false일때 전체가 보여야한다.

-> !showFavoritesOnly 

그러면 전체가 보이지 않을 조건은 무엇일까요?

추가해준 isFavorite이 참이면 보이겠죠?

 

자자 정리하면

!showFavoritesOnly 과 isFavorite

이 두개가 And 와 or 중에 뭐일까요?

and면

isFavorite 가 false면 무조건 안보일테니..

or이겠죠?

 

그럼 조건문을 추가해줍시다.

그리고 toggle도 추가해줍시다.

조건문도 추가되어겠다. 

위에 바로  toggle을 넣어줍시다.

toggle은 isOn과 label를 인자로 받는군요.

만들어봅시다.

어..음...(사고정지

당황하지 않았습니다.

지금 당연히 반복이 돌고있으니까..

저런 모양이죠..하하

List는 그냥 만들고

데이터가 들어가는 부분만 ForEach로 돌리면 될꺼같네요..

자 잘 되는지 확인 해봅시다.

잘 됩니다.

굿 잡.

 

자 이제는 즐겨찾기 버튼을 만들어하는데..

난이도가 갑자기..

콤바인이 나오네요...

그러므로 끊고 가겠습니다.

 

콤바인 좀 공부하고

다시 돌아오겠습니다.

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함