swift / enum case 나누기 (오류종류)

joo lee·2022년 6월 28일
0

별나라 요저엉 코미님 저에게 힘을 주세요...

*이 시리즈는 정대리님의 유튜브를 실습한 것을 정리한 내용입니다.
혹시 다른 글에서도 표시가 안되어있어도, 항상 정대리님께 감사하는 마음을 담아 공부하겠습니다.

swift

enum case 나누기, 원시값 (rawValue)

(스위프트 프로그래밍 104페이지)


import UIKit

//학교 - 초, 중, 고
enum School {
//case elementray
//case middle
//case high
    case elementary, middle, high
}
    
let yourSchool = School.high
//print("yourSchool: \(yourSchool)")
print("yourSchool: ", yourSchool)

enum Grade : Int {
    case first = 1
    case second = 2
}

let yourGrade = Grade.second.rawValue
print("yourGrade : \(yourGrade)")

enum SchoolDetail {
    case elementary(name: String)
    case middle(name: String)
    case high(name: String)

    
    func getName() -> String {
        switch self {
        case .elementary(let name):
            return name
        case let .middle(name):
            return name
        case .high(let name):
            return name
        }
    }
}



//let yourGrade = Grade.second.rawValue
//print("yoourGrade: \(yourGrade)")

let yourMiddleSchoolName = SchoolDetail.middle(name: "와프리중학교")

print("yourMiddleSchoolName: \(yourMiddleSchoolName.getName())")

오류 내용
enum School

대문자, 소문자는 32만큼 차이가 난다...
3일동안 오류를 찾았다.
결국 다른사람이 찾아줬다.

오류 3대장
1. 스페이스
2. {} 짝 맞추기
3. 오타
4. 대소문자

enum은 switch와 뭐가 다른지 아직 알진 못했다.
하지만, 조건문과 다른 열거값인 것 같당...

서강대학교 대학원 아트앤테크니컬 수료중인 오빠가 스토리게임을
switch의 case로 해결한다고 한다.
개발을 공부한지 2주차... 첨엔 너무 재밌었지만,
대답하지 않는 코드들을 보면 가끔 현타가 오는데,
저런 코드로 활용해서 뭔가 만드는 사람들을 보면서 힘을 얻는다.


오류가 해결되면 쓰겠다.

*rawValue를 책에서 봤는데,
원시값이라고 기본값에 준하는 개념같다.

여기에서 1, 2를 원시값이라고 한다.

책에서 갸웃하던 내용을 실제 코드로 보게 되어서 기쁘다!
빨리 오류를 해결 할 수 있었으면 좋겠다.

*코드 설명
//정석적 표현
축약 or 이렇게도 쓸 수 있다.

어째서
Cannot find 'School' in scope 이
let yourSchool = School.high

이 부문에서 나올까...
ㅠㅠ... 하루종일 오류를 찾을 시간은 없으니 일단 저장했다가
내일 찾아봐야겠다...

그리고 이 사이트 고수들은 이것도 하고 저것도 하고 예쁘게 꾸미던데,
나는 여기 레이아웃에 익숙해지지 않았다... 나도 이것저것 이쁘게 꾸미고 싶드아...
(설마 명령값으로 꾸미는거...?)
찾았다.

profile
와플좋아하고 개발공부하는 디자이너 리입니다.

0개의 댓글