0

誰もこの問題を知っていますか?

私はファイルパッケージに(のメソッドでNSDocument)書いています。

[(NSFileWrapper *)content writeToURL:myURL
                             options:NSFileWrapperWritingAtomic | NSFileWrapperWritingWithNameUpdating
                 originalContentsURL:myURL
                               error:error];

ファイル パッケージの内容を見ると、更新されていません。新しいファイルは表示されず、古いファイルはそのままです。古いファイル (もう存在しないはずのファイル) を開こうとすると、エラー メッセージ ( 内Finder) が表示されました:「見つかりません...」

何が問題ですか:

  • 私は間違った方法で遊んでいNSFileWrapperますか?

  • パッケージに「隠されている」ファイルの情報の更新に問題はありますか?


編集

  • error書いているときはありません。

  • NSDocumentCore Data のサポートが必要なため、メソッドは使用していません。BSManagedDocumentサブクラスと呼ばれるクラスを使用しNSDocumentます。

  • おそらく関連する問題は、NSFileWrapperWritingAtomicオプションを使用しないと、「... という名前のファイル (私のディレクトリ!!!) が既に存在するため、書き込みできません」というエラーが表示されることです。

4

1 に答える 1

1

これを見たことがあります - Finder のバグのようです。Finder でパッケージを選択し、右クリックしてメニュー項目 [パッケージの内容を表示] を呼び出して、ファイル パッケージの内容を表示していますか?

もしそうなら、それは問題です。なぜなら、Finder はパッケージの内容をキャッシュし、更新を表示しないからです。

ls次のようなコマンドを使用して、ターミナルでファイル パッケージの内容を確認してみてください。

ls -al /Path/to/Your/FilePackage

これにより、新しいパッケージの内容が表示されます。

于 2015-01-24T11:41:26.670 に答える