이번에는 Picker를 이용하여 List들을 구별하는 어플을 만들어보겠습니다.
1) Picker를 만들어 주고 VStack 을 이용하여 선택되어진 값이 무엇인지 알수있게 만들어줍니다.
-Picker를 사용하려면 State을 이용해서 값을 바인딩으로 가지고와야합니다.
2) enum을 이용하여 선택된 값을 알수있게 만들어줍니다.
-enum에 있는 값을 가지고 오려면 rawvalue를 사용해야합니다. 처음은 element로 잡아주었습니다.
3) 이제 Picker를 누르면 list들이 나오게 하겠습니다. myFriend라는 구조체를 만들어줍니다.
-변수 name과 변수 school을 선언해주고 Identifiable을 이용하여 변수에 UUID를 넣습니다. UUID의 자세한 설명은 https://medium.com/@jang.wangsu/ios-swift-uuid%EB%8A%94-%EC%96%B4%EB%96%A4-%EC%9B%90%EB%A6%AC%EB%A1%9C-%EB%A7%8C%EB%93%A4%EC%96%B4%EC%A7%80%EB%8A%94-%EA%B2%83%EC%9D%BC%EA%B9%8C-22ec9ff4e792
[iOS, Swift] UUID는 어떤 원리로 만들어지는 것일까..
갑자기! 문득! 그냥! 별생각 없이!!! iOS? UUID의 생성 알고리즘에 대해 고민이 들어서 검색해 봤어요.
medium.com
-State 변수 MyFriendList 를 사용하여 구조체인 myFriend 배열로 넣어줍니다. *배열 형태 [myFriend]()
4) init생성자를 선언해주고 안에다가 리스트를 만들어줍니다. for문을 이용하여 리스트에 목록을 추가해줍니다.
-newList라는 변수안에 myFriend배열을 넣어주고 let를 정해줍니다 여기서 let은 한번 값을 지정하면 바꿀수없습니다. var은 가능
-for문을 써서 21개의 목록을 추가해줍니다. 여기서 school에서 랜덤으로 값을 지정하려면 enum에다가 CaseIterable을 추가해줘야만
사용할수있습니다. append를 사용하여 추가해주고 state에 접근할때는 _MyFriendList를 해주면됩니다. State는 initialValue를 사용해서 newList를 넣어줍니다.
5) List와 ForEach를 사용하여 눈에 보이게 해줍니다.
-MyFriendList를 ForEach에 넣고 freindItem을 선언해준 다음에 HStack을 사용하여 Text를 넣어줍니다.
-보기편하게 GeometryReadr와 Divder를 이용하겠습니다.
6) 이제 ForEach 안에 filter를 사용하여 학교의 값이 FilteredValue와 일치할때만 Text가 출력되게 만들었습니다.
영상에서 보면 계속해서 값들이 랜덤하게 생성되는걸 알수있습니다.
'SwiftUI > 정리' 카테고리의 다른 글
SwiftUI - Text (0) | 2021.03.08 |
---|---|
SwiftUI - WebView (0) | 2021.03.04 |
SwiftUI - Binding (0) | 2021.03.03 |
Swiftui-Stack/Navigation (0) | 2021.02.25 |
SwiftUI Picker View - 기초편 (0) | 2021.02.24 |