swift初始值设定项同时可选和非可选?
要求我有swift初始值设定项同时可选和非可选?,swift,initializer,Swift,Initializer,要求我有 required init?(_ map: Map){ } 我想实例化Foo(),但它是Foo?输入notfoo 我添加了以下初始值设定项,但没有效果 override init() { } 拿Foo?,检查它是否有值,然后将其展开 let ff : Foo? = Foo() if ff != nil { let f : Foo = f! // ... } 或者更简单地说: let ff = Foo() if let f = ff { // ...
required init?(_ map: Map){
}
我想实例化Foo()
,但它是Foo?输入notfoo
我添加了以下初始值设定项,但没有效果
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
这似乎很有效。您是否尝试过使用便利init而不是覆盖现有的init?
var foo = Mapper<Foo>().map(jsonString)
if foo != nil {
return foo!
}
return Foo()