ObjectMapper - инициализировать объект IOS

Простая вещь, которая дает мне головную боль - как инициализировать объект, который соответствует отображаемому протоколу, без какого-либо JSON.

То, что я хотел бы сделать, просто инициализирует пустой объект пользователя в коде следующим образом:

let user = User()

однако это дает мне ошибку: "Отсутствующий аргумент для параметра № 1 при вызове"

Я смог сделать это в версии 0.14 с помощью swift 1.2, но теперь он не работает. Вы, ребята, знаете, как это сделать сейчас в Swift 2 и новом объекте 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())
}
}

Пожалуйста, помогите!

Ответы

Ответ 1

Следующее должно работать:

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

Ответ 2

Фиксированная версия выше ответа:

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