Простая вещь, которая дает мне головную боль - как инициализировать объект, который соответствует отображаемому протоколу, без какого-либо JSON.ObjectMapper - инициализировать объект IOS
Что я хотел бы сделать, это просто инициализирует пустой объект пользователя в коде следующим образом:
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())
}
}
, пожалуйста, помогите!
2 ошибки: на переопределения инициализации() «Initilaizer не отменяет назначенный инициализатору из суперкласса», рядом error on self.init() -> «Значение типа« _ -> _ »не имеет элемента« init » – Ammo
У меня таких ошибок нет. pod 'ObjectMapper', '~> 1.0'; Swift 2.1. может попытаться удалить переопределить init() {super.init()}. –
@SergeyDemchenko Я получил ту же ошибку, что и Ammo, и удалил override init() побеждает цель. ObjectMapper 1.2 Swift 2.2 – Questioner