반응형
7. Swift Any, AnyObject & nil
스위프트에서 Any는 모든 데이터 타입을 사용할 수 있다. 변수 또는 상수의 데이터 타입이 Any로 지정되어 있다면 그 변수 또는 상수에는 어떤 종류의 데이터 타입이든지 상관없이 할당할 수 있다. (그런데 꺼내 쓸데 좀 불편할 수 있음)
AnyObject는 Any보다는 조금더 한정된 의미로 클래스의 인스턴스만 할당 할 수 있다.
var allVar: Any = "string"
allVar = 500
allVar = 100.00
책에서도 말한다.
두 데이터 타입 모두 될 수 있으면 사용하지 말라고.. 타입에 엄격한 스위프트의 특성상 Any, AnyObject로 선언된 변수의 값을 가져다 쓰려면 매번 타입 확인 및 변환을 해줘야하는 불편함이 있고 예기치 못한 오류의 위험이 증가되기 때문이다. 따라서 타입은 명시를 하는 것이 좋다.!
nil은 특정 타입이 아니라 '없음'을 나타내는 스위프트 키워드,( Objective-C 에서도 사용된다) 변수 또는 상수에 값이 들어있지 않고 비어있음을 나타내는 데 사용한다. nil 상태에서 해당 변수 또는 상수에 접근하면 잘못된 메모리 접근으로 런타임 오류가 발생한다.
Never라는 타입은 특정 함수의 반환 타입으로 사용될 수 있다.
반응형
'프로그래밍 > Spring' 카테고리의 다른 글
9. Swift의 배열(Array)과 딕셔너리(Dictionary) 그리고 세트(Set) (0) | 2019.02.16 |
---|---|
8. Swift 타입 별칭(typealias) & 튜플(Tuple) (0) | 2019.02.15 |
6. 스위프트 변수와 상수 (0) | 2019.02.13 |
5. 스위프트의 문자열 보간법 (0) | 2019.02.13 |
스프링 부트 오류페이지에 관한 내용 (0) | 2019.01.11 |