코드공방 - 101호

랜덤 닉네임 추천기 제작

공방 난이도 책정 기준 (작성자 임의)


1 : 매우 쉬움. 완전 기본적인 내용

2 : 약간의 문법 기본기가 필요하고 개념을 어느정도 알고 있어야 코드 작성 가능

3 : 오픈튜토리얼스 이외의 개념 공부를 꽤 많이 요하며, 시간이 꽤나 오래걸림.


공방 난이도 : 2

어서오세요. 여기는 101호 랜덤 공방입니다!

해당 공방은 닉네임이 고민될때 재미삼아 돌려볼 수 있는 랜덤 닉네임 추천기를 제작할 예정입니다!

먼저 해당 파일을 다운로드해주세요.

Random.zip

해당 공방은 이 기술을 사용해요.


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 : 가위바위보, 뽑기 )
  • 더 깔끔하게 코드를 짤 수 있는 방법이 있을지 고민해보세요!

댓글

댓글 본문