4

SwiftlyJSONのコードでは、強制アンラップを使用して次の定数を定義します。

///Error code
public let ErrorUnsupportedType: Int! = 999
public let ErrorIndexOutOfBounds: Int! = 900
public let ErrorWrongType: Int! = 901
public let ErrorNotExist: Int! = 500

ここで暗黙的にアンラップされたオプションとして定数を宣言する目的は何ですか?

注:暗黙的にアンラップを使用する理由や時期を尋ねているのではなく、SwiftyJSON で使用する理由を尋ねているわけではありません。

4

1 に答える 1

0

まあ、多分私は間違っているかもしれませんが、もちろんより良い方法は、コードの作者に尋ねることです. とにかく、ここに私の提案があります:

  1. コミットを非難することで、2014 年 10 月 6 日に行われた変更を確認できます。また、Swift がリリースされたばかりであることがわかっているため、コンパイラの警告やエラーが発生する可能性があります。

ここに画像の説明を入力

  1. Int!実際には、代わりに書くことでInt、コンパイラに型の生成を強制していますImplicitlyUnwrappedOptional<Int>(そして、この事実を知ることで、項目 1 に戻ることができます):

    public let x: Int  = 1
    public let y: Int! = 2
    
    println(x.dynamicType)
    println(y.dynamicType)
    

    出力:

    Swift.Int
    Swift.ImplicitlyUnwrappedOptional<Swift.Int>
    
于 2015-07-16T13:00:44.063 に答える