Amm*_*mmo 17 initialization ios swift swift2
让我头疼的简单事情 - 如何初始化符合可映射协议的对象,还没有任何JSON.
我想做的是简单地在代码中初始化空的User对象,如下所示:
let user = User()
Run Code Online (Sandbox Code Playgroud)
但是这给了我错误:"在调用中缺少参数#1的参数"
我能够使用swift 1.2在版本0.14中完成它,但现在它无法正常工作.你们现在知道如何在swift 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())
}
}
Run Code Online (Sandbox Code Playgroud)
请帮忙!
Ser*_*nko 23
以下应该有效:
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())
}
}
Run Code Online (Sandbox Code Playgroud)
小智 9
上述答案的固定版本:
init() {}
required convenience init?(_ map: Map) { self.init() }
Run Code Online (Sandbox Code Playgroud)