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()