2015-11-01 21 views
15

私に頭痛を与えている簡単なこと - マッピング可能なプロトコルに準拠したオブジェクトを、まだJSONなしで初期化する方法。しかし、私にエラーを与えるObjectMapper - オブジェクトの初期化IOS

let user = User() 

: 「パラメータ#1のために不足している引数の呼び出しで」

を私は何をしたいのは、単にこのようなコードでは、空のUserオブジェクトを初期化され

私はすぐに1.2とバージョン0.14でそれを行うことができましたが、今はそれdoesnt仕事。あなたは迅速に2と新しいObject Mapperでこれをやる方法を知っていますか? (私はJSONなどでそれを初期化する方法を知って、私は他の目的のために、そのオブジェクトを初期化したいと私はどのように把握カント)

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()) 
} 
} 

助けてください!

答えて

19

次は動作するはずです:上記の回答の

class User: NSObject, 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? 

override init() { 
    super.init() 
} 

convenience required init?(_ map: Map) { 
    self.init() 
} 

// 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()) 
} 
} 
+1

2エラー:オーバーライドinitの() "Initilaizerはスーパークラスからの指定イニシャライザをオーバーライドしていない"、次の"on" - > "タイプ" _ - > _ "の値にメンバの 'init'がありません – Ammo

+0

このようなエラーはありませんpod 'ObjectMapper'、 '〜> 1.0'; Swift 2.1。オーバーライドinit(){super.init()}を削除しようとする可能性があります。 –

+0

@SergeyDemchenko Ammoと同じエラーが発生しました。 override init()は目的を無効にします。 ObjectMapper 1.2 Swift 2.2 – Questioner

7

固定バージョン:

init() {} 
required convenience init?(_ map: Map) { self.init() } 
関連する問題