1

これは純粋に好奇心の項目であり、解決策はエラーではなく戻り値をチェックすることであることが判明しましたが、このコードは数か月前のものであり、その特定のセクションは過去に問題になったことはありません(おそらくこのコードはアプリの最初の実行でのみ実行されるという事実?)

バンドルからドキュメントディレクトリにファイルをコピーするコードのセクションがあります(一部のhtmlドキュメントで使用するJQueryのコピー)。コピーは成功しますが、実際にはエラーが返されます(ココアエラー4は完了できませんでした)。実際に正常に完了したときに、関数がエラーを表示するのはなぜですか?

少なくとも部分的には興味があります。これは、エラーファイルをどのように処理するかについての私の側の大きな誤解を示していると思われるからです。

4

3 に答える 3

2

エラーのnil参照があるかどうかをチェックする多くのサンプルコードを見てきました:メソッドが成功したかどうかを判断する引数、これは間違っています!Appleは、Cocoaドキュメントのエラー処理で、これは文書化された動作ではないことを警告しています。最初にメソッドの戻り値を確認する必要があります。エラー表示が返された場合は、NSError参照を確認して、エラーの詳細を確認できます。

于 2012-08-27T02:45:58.467 に答える
0

エラーコード4は、ドキュメントのとおりのNSFileNoSuchFileErrorようです。コピーする前にドキュメントディレクトリ内のファイルが存在しなかったため、このエラーが発生したと思われます。

于 2012-08-27T02:39:07.560 に答える
0

NSFileManagerのドキュメントを読むと、NSFileManagerはスレッドセーフではないため、シングルトンメソッド[NSFileManagerdefaultManager]を使用しないように指示されています。これがあなたの好奇心をクリアすることを願っています。

于 2012-08-27T02:42:53.030 に答える