Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
Tags
- global soop
- Swift 디자인패턴
- SWIFT
- 애플 아카데미 후기
- StateObject
- 애플 디벨로퍼 아카데미
- swift문법
- 운영체제
- 애플 디벨로퍼 아카데미 21주차 회고
- 치지직
- Swift 문법
- 제앱소
- 데이터베이스 공부
- OS
- ObservableObject
- Apple Developer Academy @ POSTECH
- ObservedObject
- 네이버 부스트캠프
- apple developer academy 후기
- iOS 개발 오류
- 애플 디벨로퍼 아카데미 후기
- react
- sqoop
- 숭실대
- 앱 비교 프로젝트
- useReducer
- 소프트웨어분석및설계
- Swift 기능
- 네이버 치지직
- 데이터베이스
Archives
- Today
- Total
사과하는 제라스
[Swift 문법] Equatable 프로토콜 본문
목차
728x90
반응형
Equatable 프로토콜이란?
Equatable 프로토콜은 주어진 타입 간의 동일한 데이터를 가지는지 비교 연산을 구현하도록 하는 규약이다.
코드로 이해하는 Equatable 프로토콜
다음 코드를 보도록 하자.
import UIKit
struct Pet : Equatable{
let id: String
let name: String
static func == (lhs: Pet, rhs: Pet) -> Bool {
return lhs.id == rhs.id
}
// 사실 !=는 안적어도 된다. Equatable을 준수하면 !=는 ==의 반대 결과로 알아서 적용된다.
static func != (lhs: Pet, rhs: Pet) -> Bool {
return lhs.id != rhs.id
}
}
let myPet1 = Pet(id: "01", name: "고양이")
let myPet2 = Pet(id: "02", name: "댕댕이")
let myPet3 = Pet(id: "01", name: "개냥이")
//if myPet1.id == myPet3.id {
// print("두 팻은 같다")
//}
if myPet1 == myPet3 {
print("두 팻은 같다")
}
if myPet1 != myPet2 {
print("두 팻은 같지 않다")
}
Equatable을 사용 시 장점
728x90
반응형
'제라스의 iOS 공부 > Swift 문법' 카테고리의 다른 글
[Swift 문법] 프로토콜 옵셔널 - Protocol을 반드시 다 담진 않아도 된다고? (0) | 2023.08.19 |
---|---|
[Swift 문법] Zip - 서로 다른 배열을 묶어주는 방법 (0) | 2023.08.19 |
[Swift 문법] 고차함수 - reduce (0) | 2023.08.19 |
[Swift 문법] 멀티 트레일링 클로저(multi-trailing Closure) (0) | 2023.08.18 |
[Swift 문법] Codable (0) | 2023.08.18 |