, поэтому у меня есть пользовательский тип данных, как показано ниже:
enum WeightUnit : String {
case Piece
case Gram
case Kilogram
case Karton
case Pouch
case Dus
case Renteng
case Botol
init (weightUnitFromServer: String) {
switch weightUnitFromServer {
case "Pcs": self = .Piece
case "Gram": self = .Gram
case "Kilogram": self = .Kilogram
case "Ctn": self = .Karton
case "Pch": self = .Pouch
case "Dus": self = .Dus
case "Rtg": self = .Renteng
case "Btl": self = .Botol
default: self = .Piece
}
}
}
и я хочу, чтобы у моего Продукта (объекта области) было свойство WightUnit
, подобное
class Product : Object {
@objc dynamic var productID : Int = 0
@objc dynamic var name : String = ""
@objc dynamic var categoryID : Int = 0
@objc dynamic var categoryName : String = ""
@objc dynamic var unitPrice: Double = 0.0
@objc dynamic var quantityInCart = 0
@objc dynamic var quantityFromServer = 0
@objc dynamic var descriptionProduct : String = ""
@objc dynamic var hasBeenAddedToWishList : Bool = false
@objc dynamic var hasBeenAddedToCart : Bool = false
@objc dynamic var isNewProduct : Bool = false
@objc dynamic var productWeight : String = ""
@objc dynamic var weightUnit : WeightUnit? <--- the problem in here
@objc dynamic var minimumOrderQuantity = 0
@objc dynamic var maximumOrderQuantity = 0
}
и выдает ошибку:
Свойство нельзя пометить @objc, поскольку его тип не может быть представлен
в объективе-C
так я могу сделать свойство объекта области из перечисления? как это сделать, если это возможно?