Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ObjectMapper-初始化对象IOS_Ios_Swift_Initialization_Swift2 - Fatal编程技术网

ObjectMapper-初始化对象IOS

ObjectMapper-初始化对象IOS,ios,swift,initialization,swift2,Ios,Swift,Initialization,Swift2,让我头疼的一件简单的事情——如何在没有任何JSON的情况下初始化符合可映射协议的对象 我想做的是,在如下代码中初始化空用户对象: let user = User() 然而,这给了我一个错误: “调用中缺少参数#1的参数” 我可以用swift 1.2在0.14版中实现它,但现在它不起作用了。你们知道现在在swift 2和新的对象映射器中怎么做吗?(我知道如何用json等初始化它,我只想为其他目的初始化该对象,我不知道如何初始化) 类用户:可映射{ var用户名:字符串? 变量年龄:Int? 重量

让我头疼的一件简单的事情——如何在没有任何JSON的情况下初始化符合可映射协议的对象

我想做的是,在如下代码中初始化空用户对象:

let user = User()
然而,这给了我一个错误: “调用中缺少参数#1的参数”

我可以用swift 1.2在0.14版中实现它,但现在它不起作用了。你们知道现在在swift 2和新的对象映射器中怎么做吗?(我知道如何用json等初始化它,我只想为其他目的初始化该对象,我不知道如何初始化)

类用户:可映射{
var用户名:字符串?
变量年龄:Int?
重量:双倍!
变量数组:[AnyObject]?
变量字典:[字符串:AnyObject]=[:]
var bestFriend:User?//嵌套的用户对象
var friends:[用户]?//用户数组
生日:NSDate?
必需的初始化(umap:map){
}
//可映射
func映射(映射:映射){

username以下操作应该有效:

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())
}
}
类用户:NSObject,可映射{
var用户名:字符串?
变量年龄:Int?
重量:双倍!
变量数组:[AnyObject]?
变量字典:[字符串:AnyObject]=[:]
var bestFriend:User?//嵌套的用户对象
var friends:[用户]?//用户数组
生日:NSDate?
重写init(){
super.init()
}
便利性要求初始化(映射:映射){
self.init()
}
//可映射
func映射(映射:映射){

用户名以上答案的固定版本:

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

2个错误:在override init()上,“initilizer没有从其超类重写指定的初始值设定项”,self上的下一个错误。init()->“type'.->.'的值”没有成员“init”,我没有此类错误。pod'ObjectMapper','~>1.0';Swift 2.1。您可以尝试删除override init(){super.init()}@SergeyDemchenko我得到了与弹药相同的错误,删除override init()无法达到目的。ObjectMapper 1.2 Swift 2.2
init() {}
required convenience init?(_ map: Map) { self.init() }