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
- Apple Developer Academy @ POSTECH
- 애플 아카데미 후기
- 운영체제
- Swift 디자인패턴
- Swift 문법
- 데이터베이스 공부
- 애플 디벨로퍼 아카데미
- 앱 비교 프로젝트
- iOS 개발 오류
- global soop
- 치지직
- Swift 기능
- 네이버 부스트캠프
- 애플 디벨로퍼 아카데미 후기
- 숭실대
- 소프트웨어분석및설계
- ObservableObject
- ObservedObject
- apple developer academy 후기
- swift문법
- 데이터베이스
- 제앱소
- 애플 디벨로퍼 아카데미 21주차 회고
- sqoop
- react
- 네이버 치지직
- SWIFT
- OS
- StateObject
- useReducer
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 |