04. Any, AnyObject, nil


考える

  • 人が使っている数字「0」は「なし」を表しています.プログラミングでゼロなしを表すことができますか?
  • 0がありますが、なぜnilという言い方があるのでしょうか.
  • Any, AnyObject, nil

  • Any:SWIFTのすべてのタイプのキーワード
  • AnyObject:すべてのタイプのプロトコル
  • nil:「なし」を表すキーワード
  • Any


    キーワード
  • SWIFTのすべてのタイプ
  • var someAny: Any  = 100
    someAny = "어떤 타입도 수용 가능합니다"
    someAny = 123.12
    
    // Any 타입에 Double 자료를 넣어두었더라도 Any는 Double 타입이 아니기 때문에 할당할 수 없습니다.
    // 명시적으로 타입을 변환해 주어야 합니다.
    let someDouble: Double = someAny //	컴파일 오류발생

    AnyObject

  • プロトコル
  • は、すべてのタイプのクラスを表します.
    class SomeClass{}
    var someAnyObject: AnyObject = SomeClass()
    
    // AnyObject는 클래스의 인스턴스만 수용 가능하기 때문에 클래스의 인스턴스가 아니면 할당할 수 없습니다.
    someAnyObject = 123.12 // 컴파일 오류발생

    nil

  • がないことを示すキーワード
  • は他の言語のNULL、NULL、NULLなどに類似している.
    // someAny는 Any 타입이고, someAnyObject는 AnyObject 타입이기 때문에 nil을 할당할 수 없습니다.
    var someAny: Any = 100
    var someAnyObject: AnyObject = SomeClass()
    
    // nil을 다루는 방법은 옵셔널파트에서 추가적으로 다룸
    someAny = nil // 컴파일 오류발생
    someAnyObject = nil // 컴파일 오류 발생