티스토리 뷰

Swift&IOS

type(of: )

밀쿄 2019. 9. 4. 18:20

안녕하세요. 밀쿄입니다.

오늘은 type(of: )에 대해서 알아볼려고 합니다.

사실 너무 간단해서 어떻게 설명할까 고민했는데...

 

스위프트에는 제네릭이란 놈이 존재합니다.

제가 포스팅에서 다룬적은 없지만..

간략하게 다루고 넘어가겠습니다.

저렇게 받은 인자 타입만 다르다고 매번 함수를 새로 작성해야하면...

끝도 없을 것 같습니다.

그래서 나온게 제네릭이라고 생각하면 됩니다.

 

제네릭을 쓰면..

짠!

깔끔하죠?

사실 print를 저렇게 쓸 일이 없겠지만

매번 들어오는 타입이 다를때 이렇게 사용할 수 있습니다.

 

자 근데

저렇게 제네릭을 썻는데

난 저 놈의 타입을 알아야하는 상황이 있어..

라고 할 때 쓸 수 있는게

type(of: )

입니다.

 

이렇게 타입이 나옵니다.

사실 저런 거말고도

이렇게 구조체나 클래스도 가능합니다.

많이 쓸일은 없을것같지만

알아주면 유용할 것 같다는 생각이 듭니다.

끝입니다.

 

끝은 끝인데..

이 뒷부분은

실제로 어떻게 코드에 적용할까요

란 부분입니다.

( 안봐도 되는 내용이라 끝이라 선언해둔 )

이제부터는 제가 왜 이걸 접하게 되었는지에 대한 이야기 입니다.

( 사실 이걸 예제로 설명할려다가 MVVM이 조금 장벽이 있다고 생각되서 )

 

MVVM에서 테이블뷰 와 테이블뷰를 이루는 셀이 있습니다.

그리고 MVVM이니까 셀에 뷰모델이 있습니다.

더불어서 테이블뷰에도 뷰모델이 있겠죠?

 

정리하면

테이블뷰 - 테이블뷰 모델

테이블뷰셀 - 테이블뷰셀 모델

이렇게 있습니다.

 

테이블뷰셀 모델에는 reuseIdentifier를 선언해뒀습니다.

이런식으로 말이죠.

프로토콜로 채택해둔 이유는

저렇게 해두면 테이블뷰 모델에서

여러 셀들을 하나로 관리할 수 있기 때문입니다.

 

이 다음에

테이블뷰 모델에서..

이렇게 만들어 둡니다.

 

이렇게 해두면 테이블뷰에서

데이터소스에서 셀을 생성할 때

저렇게 reuseIdentifiet에 접근할 수 있습니다.

 

어떤가요?

어려웠나요..

이론은 쉬웠는데

실전 코드(테이블뷰) 부분은 어떨까..

모르겠네요

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함