인프런 커뮤니티 질문&답변

rlaehgns745님의 프로필 이미지
rlaehgns745

작성한 질문수

앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지

(기초-3) 가위바위보 앱 만들기 / 코드에 대한 자세한 설명 (기초 앱 13강)

선택된 정보를 컴퓨터 정보와 비교하여 승패를 판단 후 표시하는 코드 중 질문

해결된 질문

작성

·

122

1

안녕하세요 선생님 강의를 보던 중 질문이 있어 남깁니다.

if comChoice == myChoice {

            mainLabel.text = "비겼다"

        } else if comChoice == .rock && myChoice == .paper {

            mainLabel.text = "이겼다!"

        } else if comChoice == .paper && myChoice == .scissors {

            mainLabel.text = "이겼다!"

        } else if comChoice == .scissors && myChoice == .rock {

            mainLabel.text = "이겼다!"

        } else {

            mainLabel.text = "졌다..."

        }

 

이 코드들에서 각각 comChoice == .rock 과 같이 가위, 바위, 보 변수 앞에 .을 찍었는데 이유가 궁금합니다!

답변 1

0

앨런(Allen)님의 프로필 이미지
앨런(Allen)
지식공유자

이 내용을 모르시면, Swift문법에서 열거형(enum) 관련 부분을 학습하셔야 합니다.

image

위와 같이 우리(개발자)가 직접 만들어서 사용할 수 있는 열거형 타입의 경우

정확한 타입을 (full-name방식으로)
Rps.rock 또는 Rps.paper 또는 Rps.scissors 라고 쓸 수도 있지만,
Rps타입 밖에 쓰일 수 없다는 것이 명확한 경우, 열거형의 앞의 타입 부분을 생략해서
.rock 또는 .paper 또는 .scissors 라고도 사용할 수 있습니다.

Swift 문법과 관련된 부분입니다... ^^

감사합니다. :)

rlaehgns745님의 프로필 이미지
rlaehgns745
질문자

아 생략을 한 거군요!

감사합니다 :)

앨런(Allen)님의 프로필 이미지
앨런(Allen)
지식공유자

네네 화이팅 !!!

rlaehgns745님의 프로필 이미지
rlaehgns745

작성한 질문수

질문하기