protocol
-
Hashable in Swift 5Swift 2020. 6. 25. 19:48
요즘 CS193p 강의를 다시 보고 있는데 이런 내용이 있었나 와 정말 이렇게 알찬 강의였나 라는 생각이 계속 드네요 너무도 배울게 많고 부족했던게 많았구나를 알려주는 강의인 것 같습니다. protocol 쪽을 보다가 Hashable에 대해 잠깐 짚어보고 넘어가려고 합니다 :) 새로운 구조체나 클래스를 정의해서 객체를 만들었는데, 얘네들을 비교하고 싶다? 그럴 때 Hashable protocol 을 사용합니다. 그럼 Hashable protocol은 뭘까요? Hashable protocol Hashable 을 뭐라고 설명하는지 먼저 살펴볼까요? integer hash value를 생성하는 Hasher로 hash 될 수 있는 타입. 한 마디로 Hashable protocol을 상속 받는다는 건 hash 될..
-
associatedTypeSwift 2020. 3. 18. 16:52
오늘은 associatedType 에 대해 알아보겠습니다! associatedType을 이해하기 위해서는 Protocol 과 Generic 에 대해 먼저 이해하고 계셔야합니다. 왜냐하면 associatedType 은 Protocol을 위한 Generic 이라고 생각하시면 되기 때문이죠. 🙃 정의 공식 문서에서는 다음과 같이 설명하고 있어요. An associated type gives a placeholder name to a type that is used as part of the protocol. The actual type to use for that associated type isn’t specified until the protocol is adopted. associated type 은 p..
-
Protocol에서 Optional 선언iOS 2020. 3. 4. 16:06
protocol에서 optioanl 을 사용하면 다음과 같은 오류를 만나게 됩니다. 'optional' can only be applied to members of an @objc protocol Swift document를 보면, Swift는 optional을 사용하려면 반드시 @objc 를 붙여주라고 하고 있네요, class는 Objective-C 를 상속받거나 @objc가 붙은 클래스에서만 사용이 가능하니 당연히 struct나 enum에서는 사용할 수 없겠죠? swift는 protocol에서 optioanl을 지원하지 않으니, 대신 @objc 를 지원하는 @objc 를 사용하는 것이 가장 쉬운 방법이 되겠습니다. @objc protocol CounterDataSource { @objc optiona..