공방 난이도 책정 기준 (작성자 임의)
1 : 매우 쉬움. 완전 기본적인 내용
2 : 약간의 문법 기본기가 필요하고 개념을 어느정도 알고 있어야 코드 작성 가능
3 : 오픈튜토리얼스 이외의 개념 공부를 꽤 많이 요하며, 시간이 꽤나 오래걸림.
공방 난이도 : 2
어서오세요. 여기는 101호 랜덤 공방입니다!
해당 공방은 닉네임이 고민될때 재미삼아 돌려볼 수 있는 랜덤 닉네임 추천기를 제작할 예정입니다!
먼저 해당 파일을 다운로드해주세요.
해당 공방은 이 기술을 사용해요.
Array,
State,
VStack,
Button,
Text
1단계
randomElement()
메서드 개념알기
A random element from the collection. If the collection is empty, the method returns nil
.
let names = ["Zoey", "Chloe", "Amani", "Amaia"]
let randomName = names.randomElement()!
// randomName == "Amani"
예제에 보이는 것과 같이 배열 내부에 있는 문자열중 무작위로 호출을 하는 것을 볼 수 있습니다.
- 여기서 말하는 collection은 공식문서에 있는 콜렉션타입 (배열,딕셔너리,셋)을 말합니다.
- 배열 생성하기
닉네임을 담을 배열을 만들어봅시다.
Model.swift 파일에 이미 randomArray
라는 배열이 있을탠데, 새로 만들어도 되고, 유지해도 상관 없습니다.
+) 이름이 아니라 음식같은 다른요소도 괜찮습니다! 원하는대로 넣어서 출력해보세요.
++) 단, 해당 공방은 닉네임으로 진행됩니다.
random
메서드 활용하여 랜덤 닉네임 출력하기 - 1
버튼을 클릭했을 때, Text에 배열에 담겨있는 닉네임중 하나가 랜덤으로 콘솔에 출력되게끔 구현해봅시다.
2단계
random
메서드 활용하여 랜덤 닉네임 출력하기 - 2
버튼을 클릭했을 때, Text에 배열에 담겨있는 닉네임중 하나가 랜덤으로 텍스트에 출력되게끔 구현해봅시다.
Before
After
More?
- Random 함수를 활용하여 여러 게임도 제작해보는건 어떨까요? ( ex : 가위바위보, 뽑기 )
- 더 깔끔하게 코드를 짤 수 있는 방법이 있을지 고민해보세요!