Swift 문법 - Any, AnyObject, nil

eelijus·2022년 5월 4일
0

Swift Syntax

목록 보기
3/11

Any, AnyObject, nil

노션 링크 : https://eelijus-roirequin.notion.site/Week-1-8ae0073636184287891f2fdf41b3ff8c

Any

: Swift의 모든 타입을 지칭하는 키워드

Any도 명백히 데이터 타입이기 때문에 다른 데이터 타입과 값을 주고받을 수 없다

import Foundation

var someAny: Any = 100
someAny = "어떤 타입도 수용 가능하지롱. nil빼고"
someAny = 123.45

//Error!
let someDouble: Double = someAny //컴파일 오류 발생! Double과 Any는 엄연히 다른 타입


AnyObject

: 모튼 클래스 타입을 지칭하는 프로토콜

AnyObject 클래스의 인스턴스만 쥐고 있을 수 있음. 인스턴스가 아니면 할당 못함

import Foundation

class SomeClass {}

var someAnyObject: AnyObject = someClass()

//Error!
someAnyObject = 1206 //컴파일 오류 발생! AnyObject는 클래스의 인스턴스만 수용가능. 


nil

: 없음을 의미하는 키워드

nil은 Any나 AnyObject에 할당할 수 없음.

//Error!
someAny = nil
someAnyObject = nil
//두 경우 모두 컴파일 오류 발생!
profile
sujileelea

0개의 댓글