Swift
[Swift] Any, AnyObject
Sky Titan
2021. 6. 21. 20:35
728x90
![]() |
|
Any
- 스위프트의 모든 데이터 타입을 사용할 수 있다는 의미.
- 변수, 상수의 데이터 타입이 Any로 지정될 경우 어떤 데이터 타입도 할당 가능하다.
- 함수 타입을 포함한 모든 타입
import Foundation
var a: Any
a = 10
print(a)
a = "wow"
print(a)
AnyObject
- Any보다 좀 더 한정된 의미로 '클래스의 인스턴스'만 할당 가능하다.
- 즉 Int, String 등의 value type들은 할당 불가능
var b: AnyObject
b = 10
/*결과
/tmp/B6D1B761-46AC-4AAB-9337-D0FA56FCE4C9.Fuzpfj/main.swift:17:5: error: value of type 'Int' does not conform to 'AnyObject' in assignment
b = 10
^
*/
※ Any, AnyObject를 사용하면 예기치 못한 오류가 발생할 가능성이 높기에 되도록이면 사용을 지양해야한다.
728x90
