다음과 같이 enum을 만들고 fromRaw() 함수를 사용하려고합니다.enum의 fromRaw() 함수를 사용하는 방법
enum Test : Int {
case a = 1
case b, c
func description() -> String{
switch self {
case .a:
return "a"
default:
return String(self.toRaw())
}
}
}
내가 이와 같이 사용하는 상황에서 작동합니다. bvalue.description()은 결과 "2"를 제공합니다.
if let bvalue = Test.fromRaw(2) {
bvalue.description()
}
그러나 If 문없이 다음과 같이 사용하려고 할 때. 그것은 나에게 두 번째 라인에 잘못된 알림을했다 "비() '를 사용하여 비 - 함수 유형 문자열의 값을 호출합니다."
let bvalue = Test.fromRaw(2)
bvalue.description()
나는 혼란 스러웠다. If 문을 사용하는 경우와 사용하지 않는 경우의 차이점은 무엇입니까? 왜 두 번째 방법은 효과가 없습니까? 이 fromRaw() 함수는 어떤 유형입니까?
가독성을 높이기 위해 코드의 형식을 올바르게 지정할 수 있습니까? –
가능한 복제본 [원래 변수가 nil인지 확인하는 대신 왜 함께 사용하고 함께 사용합니까? (신속)] (http://stackoverflow.com/questions/24049377/why-would-i-use-if-and-let-together-instead-of-just-checking-if-the-original-va) – Chuck