본문 바로가기
🌱

init?(rawValue: String)

by 방우 2022. 7. 16.
init?(rawValue: String)

 

String에는 원시값을 집어넣고 해당하는 타입을 찾을 수 있다. 하지만 없을 수도 있기 때문에 옵셔널이다. 

 

열거형의 타입은 String, Character, Number Type 만 원시값으로 저장할 수 있다.

 

위의 String은 열거형의 원시값이 어떤 타입이냐에 따라 달라진다.

 

enum NewWord: String {
    case gguanggu = "꾸안꾸"
    case yungcha = "윰차"
    case samguija = "삼귀자"
    
    func saydescriptionOfNewWord() -> String {
        switch self {
        case .gguanggu:
            return "꾸민듯~ 안 꾸민듯~ 결국 꾸민 상태"
        case .yungcha:
            return "유모차의 줄임말"
        case .samguija:
            return "연애를 시작하기 전 썸단계~"
        }
    }
}


var test: NewWord = .gguanggu
print(NewWord(rawValue: "꾸안꾸"))
//Optional(__lldb_expr_3.NewWord.gguanggu)
// 위는 타입을 그대로 출력했기 때문이다

var test1 = NewWord(rawValue: "꾸안꾸")
print(test1) // gguanggu

옵셔널이기 때문에 nil일 경우를 대비하여 처리해주는 것이 좋다


내 프로젝트중 하나에 origin, origin1, origin2 이렇게 있따..

오늘 origin에 merge하려고 했는데 origin이 fetch가 안된다... 

토큰인증도 다 해줬는ㄷㅔ 원인을 모르겠다.

git 수업을 듣고 해결해봐야할것같다.

'🌱' 카테고리의 다른 글

TypeAlias  (0) 2022.07.21
버튼안에 여백주기  (0) 2022.07.18
뷰의 생명주기, Unwind  (0) 2022.07.16
코드리뷰  (0) 2022.07.16
Ing, ed  (0) 2022.07.14