Enum と SwiftData
方法
- Enum 用に getter/setter を作れば良い
- その際、
@Transientを指定すると、SwiftData 保存対象から外せる
swift
enum PageDirection: String, CaseIterable, Codable {
case leftToRight
case rightToLeft
case followDocument
}
@Model
final class Preference {
var pageDirection: String = PageDirection.leftToRight.rawValue
@Transient
var pageDirectionEnum: PageDirection {
get { PageDirection(rawValue: pageDirection) ?? .leftToRight }
set { pageDirection = newValue.rawValue }
}
}