2017-09-28 4 views
0

J'ai un bug lorsque je mets à jour la version pod sur mon fichier Podfile. J'utilise la dernière version du cadre de RealmSwift sur xCode 9. Ceci est mon modèle:RealmSwift: Valeur non valide pour la propriété sur xCode 9

import Foundation 
import RealmSwift 
import ObjectMapper 

class Salesman: Object,Mappable,DataElementDelegate, ObjectDelegate { 

    //MARK: - properties 
    public dynamic var id: Int = 0 
    public dynamic var name: String = "" 
    public dynamic var amount: Int = 0 
    public dynamic var updated_at_timestamp: Int = 0 

    //MARK: - Init 
    required convenience init?(map: Map) { 
     self.init() 
    } 

    //MARK: - Mapping 
    func mapping(map: Map) { 
     id<-map["id"] 
     name<-map["name"] 
     amount<-map["amount"] 
     updated_at_timestamp<-map["updated_at_timestamp"] 
    } 

    //MARK: - Realm methods 
    override static func primaryKey()->String?{ 
     return "id" 
    } 

    //MARK: - Methods 
    public func getID()->Int{ 
     return self.id 
    } 

    //MARK: - Data delegate 

    func getAmount() -> String { 
     return "\(self.amount)" 
    } 

    func getName() -> String { 
     return self.name 
    } 

    func getLastUpdate() -> Int { 
     return self.updated_at_timestamp 
    } 

} 

Maintenant, lorsque je tente d'insérer des valeurs sur mon realmn Je cet accident 'RLMException', reason: 'Invalid value '1000' for property 'Salesman.amount''.

-je écrire que le code d'insertion:

//MARK: - Mocks Salesman 
public func mocksSalesman()->[Salesman]{ 

    var array: [Salesman] = [] 

    let sale1 = Salesman() 
    sale1.id = 1 
    sale1.name = "Raul" 
    sale1.amount = 1000 

    let sale2 = Salesman() 
    sale2.id = 2 
    sale2.name = "Tomas" 
    sale2.amount = 500 

    let sale3 = Salesman() 
    sale3.id = 3 
    sale3.name = "Luciano" 
    sale3.amount = 700 

    array.append(sale1) 
    array.append(sale2) 
    array.append(sale3) 

    return array 

} 

public func insert(){ 
    let list = self.mocksSalesman() 
    let realm = try! Realm() 
    for item in list{ 
     try! realm.write { 
      realm.add(item, update: true) 
     } 
    } 
} 

J'ai essayer d'insérer 3 vendeurs dans la base de données de mon royaume, mais je cette question.

Que pourrait-il se passer?

Cordialement

+0

Je ne sais pas, mais il semble que, que vous essayez d'insérer une valeur de chaîne - indiquée par les « » citations. pourriez-vous s'il vous plaît poster votre code d'insertion ici? – AlexWoe89

+0

@ AlexWoe89 Je viens d'éditer mon code. Que pourrait-il arriver? Cordialement –

Répondre

0

Ok les gars, j'ai la réponse. Qui vient de mettre ce code:

func getAmount() -> Int { 
    return self.amount 
} 

Au lieu de:

func getAmount() -> String { 
    return "\(self.amount)" 
}