# SwiftData enum No exact matches in call to instance method 'setValue' error

**URL:** <https://forums.swift.org/t/swiftdata-enum-no-exact-matches-in-call-to-instance-method-setvalue-error/71682>\
**Category:** Using Swift\
**Tags:** swiftdata\
**Created:** [May 7, 2024, 8:17pm UTC](https://forums.swift.org/t/swiftdata-enum-no-exact-matches-in-call-to-instance-method-setvalue-error/71682 "2024-05-07T20:17:45Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![syclonefx](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/syclonefx/32/34534_2.png) [@syclonefx](https://forums.swift.org/u/syclonefx)\
**Post date:** [May 7, 2024, 8:17pm UTC](https://forums.swift.org/t/swiftdata-enum-no-exact-matches-in-call-to-instance-method-setvalue-error/71682/1 "2024-05-07T20:17:46Z")

</div>

I'm getting an "No exact matches in call to instance method 'setValue'" error for a property that has a enum as a value. How do I fix this? Any help would be appreciated.

 ![sd_enum_error](https://global.discourse-cdn.com/swift/original/3X/5/4/54aacde624d4c3d8aa4b2b8e1128d565a6c420c7.jpeg)

```swift
enum FluidUnit: CaseIterable, Identifiable {
  case ounce, liter
  var id: Self { self }

  var title: String {
    switch self {
    case .ounce:
      return "ounce"
    case .liter:
      return "liters"
    }
  }
}

```

```swift
@Model
class Drink: Identifiable, Hashable {

  let id: UUID = UUID()
  let name: String = ""
  var shortName: String = ""
  var amount: Double = 0.0
  let unitOfMeasure: FluidUnit = FluidUnit.ounce
  let date: Date = Date()
  var image: String = "water"
  var favorite: Bool = false

  init(name: String, amount: Double, unitOfMeasure: FluidUnit, image: String, favorite: Bool = false, shortName: String = "") {
    self.id = UUID()
    self.name = name
    self.amount = amount
    self.unitOfMeasure = unitOfMeasure
    self.date = Date()
    self.image = image
    self.favorite = favorite
    self.shortName = shortName
  }

  static func == (lhs: Drink, rhs: Drink) -> Bool {
    lhs.id == rhs.id
  }

  func hash(into hasher: inout Hasher) {
      hasher.combine(id)
  }
}

```

---

<div class="post-metadata">

**Author:** ![gvstavnev](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/gvstavnev/32/11842_2.png) [@gvstavnev](https://forums.swift.org/u/gvstavnev)\
**Post date:** [February 4, 2025, 9:01pm UTC](https://forums.swift.org/t/swiftdata-enum-no-exact-matches-in-call-to-instance-method-setvalue-error/71682/2 "2025-02-04T21:01:12Z")

</div>

Adding `Codable` conformance the enum should work.
