Skip to main content

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 }
}
}