swift 初始化程序同时可选和非可选?
swift initializer optional and non-optional at the same time?
https://github.com/Hearst-DD/ObjectMapper 要求我有
required init?(_ map: Map){
}
我想实例化 Foo()
但它是 Foo?输入不是 Foo.
我添加了以下初始化程序但没有用。
override init() {
}
获取 Foo?,检查它是否有值,然后解包。
let ff : Foo? = Foo()
if ff != nil {
let f : Foo = f!
// ...
}
或者更简单地说:
let ff = Foo()
if let f = ff {
// ...
}
** 编辑 **
对不起打错电话了..
我在使用以下代码时遇到问题。
var foo = Mapper<Foo>().map(jsonString)
if foo != nil {
return foo!
}
foo = Foo()
return foo
我认为问题是当我声明 var foo
它被声明为 Foo?
类型并且 foo = Foo()
仍然是 Foo?
所以我将代码更改为
var foo = Mapper<Foo>().map(jsonString)
if foo != nil {
return foo!
}
return Foo()
它似乎有效。
https://github.com/Hearst-DD/ObjectMapper 要求我有
required init?(_ map: Map){
}
我想实例化 Foo()
但它是 Foo?输入不是 Foo.
我添加了以下初始化程序但没有用。
override init() {
}
获取 Foo?,检查它是否有值,然后解包。
let ff : Foo? = Foo()
if ff != nil {
let f : Foo = f!
// ...
}
或者更简单地说:
let ff = Foo()
if let f = ff {
// ...
}
** 编辑 ** 对不起打错电话了..
我在使用以下代码时遇到问题。
var foo = Mapper<Foo>().map(jsonString)
if foo != nil {
return foo!
}
foo = Foo()
return foo
我认为问题是当我声明 var foo
它被声明为 Foo?
类型并且 foo = Foo()
仍然是 Foo?
所以我将代码更改为
var foo = Mapper<Foo>().map(jsonString)
if foo != nil {
return foo!
}
return Foo()
它似乎有效。