swift 기초를 공부하고 있어요. 아직은 많이 부족해서, 문서 읽은 것들을 정리하거나 실습해보고 있습니다 ^^


Optional에 쉽게 적응되지 않네요.


line 6: String 타입의 변수 possibleNumber를 문자열 "123"으로 초기화했습니다.

line 7: 타입을 명확하게 주지 않았지만 Swift에서 아마도 Optional Int로 추론할 것 같네요.

         String 타입의 내장 함수 중에 하나인 toInt()를 통해서 possibleNumber가 가진 문자열을 int로 변경해서

         convertedNumber에 저장합니다. 


         Swift Standard Library Reference를 참고해보면 toInt()는 아래와 같이 정의되네요.

         func toInt() -> Int? 

         인자는 받지 않고, Int 타입의 optional을 리턴해주네요.


         즉 convertedNumber가 Optional Int로 추론되는 것이 맞네요.


line 9: convertedNumber를 출력해보니 Optional(123)으로 나오는 것을 확인할 수 있었구요.

line 10: !(느낌표)를 통해서 optional 변수인 convertedNumber를  unwrapping 해서 출력하니깐 123이라는 값이 나오구요.


line 12: 위 line 7에서 확인한 것 처럼 convertedNumber는 Optional 변수이기 때문에 nil이라는 값을 입력해도 에러가 나지 않구요.

line 13: possibleNumber는 String 타입의 변수이기 때문에 nil이 될 수 없습니다. 그래서 error를 나타내고 있죠.


line 6: 문자열 123a를 가지도록 변경

line 7: toInt()가 optional Int를 리턴하니깐 convertedNumber를 Int?로 딱 지정해버렸어요.


line 9: 에서 확인, toInt()가 nil을 돌려줬네요.

line 11~16: Optional 변수에 값이 들어 있는지는 if문으로도 확인 가능하네요.


이런 Operator도 존재하네요. 

바로 ?? 인데요. 


사용방법은 다음과 같습니다. 


?? 앞에 있는 변수또는 수식이 nil인지 검사해서 nil이면 ?? 뒤에 것을 입력해라인데요.

사실은 ? a, b 를 간단하게 쓸 수 있도록 만든 operator 이네요. 

그래도 저한테는 새로운 것이니깐 ~ 확인차 




+ Recent posts