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
'Swift' 카테고리의 다른 글
[Swift] Dynamic Dispatch vs Static Dispatch (0) | 2021.12.05 |
---|---|
[Swift] 클로저 (Closure) (0) | 2021.07.12 |
[Swift] defer (0) | 2021.06.21 |
[Swift] 스위프트 네이티브 객체 (0) | 2021.06.15 |
[Swift] 가변매개변수 (Variadic Parameters) (0) | 2021.06.13 |
댓글