let myPath = Bundle.main.path(forResource: "Settings", ofType: ".png")
print(myPath!)
これを印刷しようとするとクラッシュするのはなぜですか?Swift:印刷時のクラッシュ
let myPath = Bundle.main.path(forResource: "Settings", ofType: ".png")
print(myPath!)
これを印刷しようとするとクラッシュするのはなぜですか?Swift:印刷時のクラッシュ
クラッシュは有名です予期しない見つかりましたnil
アンラッピング中...エラー。値がnil
でないことが保証されない限り、感嘆符を使用しないでください。
ファイルがタイプ(拡張子)がpng
ない.png
let myPath = Bundle.main.path(forResource: "Settings", ofType: "png")
しかし、最近URL関連APIが望ましい
let myURL = Bundle.main.url(forResource: "Settings", withExtension: "png")
'Bundle.main.url(またはpath)の結果を強制的に展開する必要があると主張することができます。なぜなら、そこに存在すると予想されるファイルをロードしようとしているからです。ファイルが存在しない場合は、プロジェクト(またはタイプ)の設定に問題があり、アプリケーションをすぐにクラッシュさせてプロジェクトの問題(またはタイプミス)を修正できるようにします。 – rmaddy
私の単純な推測では、myPathはnilであるため、nilポインタ例外でクラッシュします。感嘆符を削除して使用してください:
print(myPath)
もしnilが表示されたら、答えがあります。
なぜそれがゼロであるか知っていますか? –
ですそれはあなたをすることができます(ほとんどの場合)存在するかしませんかそれを構築しますが、電話機でアクセスするとクラッシュします。 –
オプションのmyPathオブジェクトのアンラップを強制しています。実際にはこれがnilであっても印刷しようとしています。なぜイメージのパスが必要ですか? – Glenn