https://github.com/heerucan/Bookmark/issues/40
@frozen
enum Setting: CaseIterable {
case first
case second
case third
var menu: [String] {
switch self {
case .first:
return ["문의하기", "리뷰 남기기"]
case .second:
return ["백업하기", "복구하기"]
case .third:
return ["책갈피 소개"]
}
}
}
@frozen은 더 이상 변경값이 없다는 걸 컴파일러에게 알려줘서 효율 높임
CaseIterable은 열거형을 배열로 쓸 수 있게 해주는 프로토콜
final class SettingViewModel {
let settingList = BehaviorRelay(value: Setting.allCases)
}
Relay를 적용해보았다. → Why?