ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 201117 - TIL
    TIL/2021 2020. 11. 18. 02:44

    Vitaly Vlasov 님의 사진, 출처: Pexels

     

    Swift

    Structure와 Class에 대해서 복습했다.

     

    • Type Casting은 클래스의 인스턴스, Object에만 가능하다는 것을 보았다.

     

    Protocol 사용 말고 타입 캐스팅을 구조체의 인스턴스에 사용한 적이 없는 거 같긴 한데... 한번 자세히 생각해봐야 할 부분이다.

     

     

    Property, Method, Initiallizer에 대해서도 복습을 했다.

     

    • 속성을 let으로 하면 기본값을 주는게 좋다.
    • Class에서 속성의 Type을 Optional로 하면 기본값과 init을 설정하지 않아도 된다.
    • Property Observer는 일반 변수와 상수에도 사용이 가능하다.
    • Type Property는 init이 없기때문에 선언할 때 기본값을 줘야 한다.
    • self 속성은 Type member에서는 Type자체를 의미하고 Instance member에서는 해당 Instance를 나타낸다.
    • Property Wrapper에 대해서 다시 공부했다.
    • Failiable Initializer init? init!
    • init?은 Optional instance를 생성한다.
    • init!은 초기화 실패 시 nil을 반환하는데 IUO와 같이 Type을 non-optional로 하고 nil이 반환된다면 크래쉬가 발생한다.

     

    Property Wrapper는 처음에 공부했을 때는 뭔 말인지 몰랐지만 두 번째 보니 어떤 말인지는 이해가 갔다.

    그러면서 User Defaults에 대해서 간단히 맛만 봤다.

     

     

    KeyPath에 대해서도 공부했다.

    • Property의 위치만 참조하도록 할 수 있는 방법
    • WritableKeyPath<Root, Value>
    • ReferenceWritableKeyPath<Root, Value>
    • \Typename.propertyname.propertyname으로 사용한다
    • appending(_:) 메서드로 경로 추가 가능하다.

     

    사용법을 고민해봤는데 인스턴스의 프로퍼티에 접근할 때 사용하면 나중에 유지보수에 도움이 될 거 같다.

    다른 장점은 아직은 모르겠다.

     

     

    728x90

    'TIL > 2021' 카테고리의 다른 글

    201122 - TIL  (0) 2020.11.23
    201120 - TIL  (0) 2020.11.21
    201116 - TIL  (0) 2020.11.17
    201115 -TIL  (0) 2020.11.16
    201113 - TIL  (0) 2020.11.14
Designed by Tistory.