2015-09-28 48 views
0

我对Swift非常陌生,所以请耐心等待。我想使用ObjectMapper将我的Swift对象转换为JSON字符串。Swift,ObjectMapper:类型'User'不符合协议'Mappable'

我尝试使用我的对象与Mappable接口,但我不断收到此错误。

类型“ProductDTO”不符合协议“可映射”

我复制粘贴从git的文档确切的代码,但我得到了同样的错误。 请帮忙,我在这花了3个小时。

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'

我完全不知道这可能是导致此。

我试着用Cocoapods,Carthage重新安装ObjectMapper,最后把它作为子模块安装,但没有运气。请帮忙!谢谢!

+0

您正在使用哪个版本的ObjectMapper?这是最新的吗? –

+0

我正在使用的版本0.14 – dashbashrumble

回答

0

我刚刚用最新版本的ObjectMapper构建了代码,并且没有错误。 ObjectMapper在几天前改变了协议,根据最新版本,你的代码看起来很好,只是更新到ObjectMapper,它应该可以正常工作。

最新的版本是0.17

+0

我使用的是最新版本,不起作用,我想我只会使用NSJsonSerialization – dashbashrumble

+0

你说的评论你使用的是“0.14”,这不是最新的。如果您有强制指定“0.14”,请检查您的pod文件。 –

0

我Google我的问题,并意识到可能是我的Xcode版本是旧的。我将它更新到版本7.0.1,一切都很好!谢谢大家!

相关问题