2015-10-14 62 views

回答

0

**編輯** 對不起,誤報..

我有問題,下面的代碼。

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

,似乎工作。

1

Take the Foo ?,檢查它是否有一個值,然後解開它。

let ff : Foo? = Foo() 
if ff != nil { 
    let f : Foo = f! 
    // ... 
} 

或者更簡單地說:

let ff = Foo() 
if let f = ff { 
    // ... 
}