17

1 つの感嘆符の定義は知っていますが、2 つですか?

私は今日コーディングしていましたが、コンパイラーはもう1つ追加するように「強制」しました! 私の文に:

mySignal.subscribeNext({
        (value: AnyObject!) -> () in
        let list: RACSequence = value["myObject"]!!.rac_sequence
        ...

1つだけ使うなら!マーク、プロジェクトはコンパイルされず、エラーが表示されます:「オプションの型 'AnyObject の値?' アンラップされていません; '!' を使用するつもりでしたか? また '?'?" 次に、もう 1 つ追加します。そしてすべてが機能します。

Swift の2 つの感嘆符の意味は何ですか?

4

2 に答える 2

9

ディクショナリにanAnyObject!を保存しているので、オプションの値として a を保存しています。ディクショナリの添え字は、保存している値のオプションを常に返すため、オプションのオプションを取得しているため、2 回アンラップするには ! が 2 つ必要です。

于 2015-07-17T02:31:25.037 に答える