2016-11-14 9 views
2

で働いていない、私はこの問題を抱えています:フリーダイヤルブリッジはNSErrorにスウィフト3に私たちのコードベースの変換スウィフト3

if let nsError = error as? NSError { ... } 

警告:Cast from 'CFError?' to unrelated type 'NSError' always fails

+0

ABAddressBookは廃止されました。 – matt

+1

'if let nsError = error as Error? {...} 'はうまくいくはずですが、私は現在それをテストすることができません。そして、@mattは言ったように、とにかくAPIは非推奨です。 –

+0

@mattはまだiOSをサポートしています8 – Ramsel

答えて

5

NSErrorをまったく通過させないでください。真っ直ぐにエラーをスローします。

if let err = error as? Error { 
    print(err) // no problem 
} 
+0

マイナー発言: 'もしlet err = error as error?{.. 。} '' error'が 'Error?'に変換できない場合、コンパイラは文句を言うでしょう。 –

+0

@MartinR上記のコードは、受信した 'error'がOptional CFErrorのときに正しくコンパイルされ実行されます。それは私が解決した問題です。 – matt

+0

はい、私はそれを疑っていませんでした。 –