✅ 이번 시간에는 Equtable에 대해서 알아보도록 할게.
Equatable이 뭐냐?
두 값이 동일한지 확인할 수 있는 프로토콜이야.
우리가 코딩을 하면서 "abc" == "abc" 혹은 33 != 33 등 스위프트의 기본 타입을 같은지 다른지 비교해본적이 있었지?
너무 단순하게 그냥 비교하면 되는거 아닌가..? 썼던 것들인데,,
우리는 이러한 문제에 부딪히게 돼
그럼 swift에서 구조체나 클래스의 인스턴스들의 값이 같은지는 어떻게 비교할 수 있을까?
아래의 예시를 한번 봐보자.
class A{
var aNum : Int
init(_ aNum :Int) {
self.aNum = aNum
}
}
if A(1) == A(2) //error!
{
}
출처: https://zeddios.tistory.com/227 [ZeddiOS]
에러가 발생한다고 한다!
그러면 우리는 Equtable을 상속 받아서 사용해야 하는데, 여기에는
static func == (lhs: Self, rhs: Self) -> Bool {
return true
}
메소드가 프로토콜로 정의되어 있어.
여기 안에 정의해서 사용하면 돼
- 참고
https://zeddios.tistory.com/227
https://developer.apple.com/documentation/swift/equatable
http://seorenn.blogspot.com/2014/08/swift-equatable-comparable-printable.html
'Archive > 패캠(올인원)' 카테고리의 다른 글
⌨️ ch13 키보드에 따른 레이아웃 조정하기 (0) | 2021.06.26 |
---|---|
🤪 ch13 버튼 상태에 따라 바꿔주기 (0) | 2021.06.26 |
🦧 ch13 Static Cell (TableView) (0) | 2021.06.25 |
ch12 애플뮤직st 음악앱 코드리뷰 (0) | 2021.06.24 |
💈 ch11 현상금 랭킹앱 코드리뷰(Animation)💈 (0) | 2021.06.22 |