728x90

Equatable

 

struct Todo: Codable, Equatable {
    let id: Int
    var isDone: Bool
    var detail: String
    var isToday: Bool
    
    mutating func update(isDone: Bool, detail: String, isToday: Bool) {
        // [x] TODO: update 로직 추가
        self.isDone = isDone
        self.detail = detail
        self.isToday = isToday
    }
    
    // '=='이라는 조건을 정의 해주는 것.Equatable이라는 프로토콜을 넣어주면 우리 맘대로 정의 가능.
    static func == (lhs: Self, rhs: Self) -> Bool {
        // [x] TODO: 동등 조건 추가
        return lhs.id == rhs.id
    }
}

 

 

 

equatble 프로토콜을 상속 받으면 == 이라는 조건을 우리가 맘대로 정하는 사용자 정의가 가능해진다. 

 

 

 

 

 

Codable 

JSON 파일을 스위프트가 알아들을 수 있게 손쉽게 바꿔준다.

728x90
반응형
슬라임 통통