11

こんにちはスタックオーバーフロー:)

Swift 2.0 にアップグレードしてから、奇妙な問題が発生しています。

境界線の色を設定しようとしているのでself.layer.borderColor = borderColor as! CGColor、borderColor が でAnyObject、self.layer.borderColor がCGColor?

私が書くself.layer.borderColor = borderColor as! CGColorと、警告が表示されます

「CGColor」への強制ダウンキャストをオプションとして扱うと、「nil」は生成されません

代わりに使用することをお勧めしますas?

代わりに書くself.layer.borderColor = borderColor as? CGColorと、エラーが発生します

CoreFoundation タイプ 'CGColor' への条件付きダウンキャストは常に成功します

何かが欠けていないことを確認するために、私も書いてみcontainer.layer.borderColor = borderColor as CGColorましcontainer.layer.borderColor = borderColorたが、これらの両方で次のエラーが発生しました。

「AnyObject」は「CGColor」に変換できません。'as!' を使用するつもりでしたか? 強制的にダウンキャストするには?

使用時に XCode によって警告が表示された状態で実行するだけでもそれほどas!ひどいことではありませんが、コードの警告を無料にしておくことをお勧めします。私が本当にあなたの助けが必要であることを理解するために。これは私が理解していないことですか、それとも単に Swift 2.0 のバグであり、代わりに報告する必要があります。

乾杯!

ジェイコブ

4

3 に答える 3