2015-09-28 2 views
0

Je suis très nouveau pour Swift, alors s'il vous plaît, gardez-moi. J'essaie d'utiliser ObjectMapper pour convertir mon objet Swift en une chaîne JSON.Swift, ObjectMapper: Type 'Utilisateur' n'est pas conforme au protocole 'Mappable'

J'ai essayé d'utiliser mon objet avec l'interface Mappable mais je continue à recevoir cette erreur.

Type « ProductDTO » ne se conforme pas au protocole « Mappable »

Je Copié collé le code exact de la documentation git mais je reçois la même erreur. S'il vous plaît aider, j'ai passé un bon 3 heures sur ce sujet.

import Foundation 
import ObjectMapper 

class User: Mappable { 
    var username: String? 
    var age: Int? 
    var weight: Double! 
    var array: [AnyObject]? 
    var dictionary: [String : AnyObject] = [:] 
    var bestFriend: User?      // Nested User object 
    var friends: [User]?      // Array of Users 
    var birthday: NSDate? 

    required init?(_ map: Map){ 

    } 

    // Mappable 
    func mapping(map: Map) { 
    username <- map["username"] 
    age   <- map["age"] 
    weight  <- map["weight"] 
    array  <- map["arr"] 
    dictionary <- map["dict"] 
    bestFriend <- map["best_friend"] 
    friends  <- map["friends"] 
    birthday <- (map["birthday"], DateTransform()) 
    } 
} 

Error: Type 'User' does not conform to protocol 'Mappable'

Je n'ai absolument aucune idée de ce qui pourrait être la cause.

J'ai essayé de réinstaller ObjectMapper en utilisant Cocoapods, Carthage et finalement l'ai installé comme sous-module, mais pas de chance. S'il vous plaît aider! Merci!

+0

Quelle version d'ObjectMapper utilisez-vous? Est-ce le dernier? –

+0

J'utilise la version 0.14 – dashbashrumble

Répondre

0

Je viens de construire le code avec la dernière version d'ObjectMapper et il n'y avait pas d'erreurs. ObjectMapper avait changé le protocole il y a quelques jours et votre code semble correct d'après la dernière version, il suffit de le mettre à jour avec ObjectMapper et cela devrait fonctionner correctement.

La dernière version est de 0,17

+0

J'utilise la dernière version, ne fonctionne pas, je suppose que je vais juste utiliser NSJsonSerialization – dashbashrumble

+0

vous avez dit dans les commentaires que vous utilisez "0.14", ce qui n'est pas la dernière. Vérifiez votre fichier pod si vous avez une force spécifiée "0.14". –

0

Je googlé mes problèmes et réalisé que probablement ma version de Xcode est vieux. Je l'ai mis à jour vers la version 7.0.1 et tout fonctionne très bien! Merci tout le monde!