Can I use enums in RealmSwift?

I want to do something like this:

enum WeekDay { case Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } class Person: Object { dynamic var birthday: WeekDay? = .Monday dynamic var id: String? = nil dynamic var birthdayRaw: String? = nil override static func primaryKey() -> String? { return "id" } } 

But I get an error message:

A property cannot be marked as dynamic because its type cannot be represented in Objective-C

How can i solve this? Thanks for any help.

+5
source share
1 answer

The kingdom has no direct way to do this. Github problem.

But you can consider this trick

 enum WeekDay: String { case Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } class Person: Object { private var _day: WeekDay? var birthday: WeekDay? { get { if let resolTypeRaw = birthdayRaw { _day = WeekDay(rawValue: resolTypeRaw) return _day } return .Sunday } set { birthdayRaw = newValue?.rawValue _day = newValue } } dynamic var id: String? = nil dynamic var birthdayRaw: String? = nil override static func primaryKey() -> String? { return "id" } } 
+8
source

All Articles