Swift
[스위프트 기초] 4. Any, AnyObject, nil
microsaurs
2022. 5. 21. 17:34
1. Any
- Swift의 모든 타입을 지칭하는 키워드
데이터 타입 위치에 들어갈 수 있음
모든 타입을 수용할 수 있다는 의미
*
var someAny: Any = 100
someAny = "어떤 타입도 수용 가능합니다"
someAny = 123.12
//오류 발생
let someDouble: Double = someAny
=> Any 타입인 자료를 Double 타입인 자료에 넣을 수 없음 (명시적 타입 변환을 해주어야 함.)
2.AnyObject
- 모든 클래스 타입을 지칭하는 프로토콜
클래스 인스턴스만 넣을 수 있음
*
class SomeClass {}
var someAnyObject: AnyObject = SomeClass()
//오류 발생
someAnyObject = 123.12
=> AnyObject는 클래스의 인스턴스만 수용 가능하기 때문에 클래스의 인스턴스가 아니면 할당할 수 없음
3.nil
- 없음을 지칭하는 키워드
(≒ null, NULL, Null)
*
var someAny:Any = 100
var someAnyObject: AnyObject = SomeClasee()
//오류 발생
someAny = nil
=> Any에 어떤 타입이라도 들어갈 수 있지만 빈 값은 들어올 수 없음!
someAnyObject = nil
=> 마찬가지로 빈 값은 들어올 수 없음!