ココア:NSFilesPromisePboardType で配信するための宛先 URL はファイル URL であると想定しても問題ありませんか?

StackOverflow https://stackoverflow.com/questions/2335190

質問

宛先 URL が アウトラインビュー:約束されたファイルの名前ドロップ先でドロップ:ドラッグされたアイテムの場合: メソッド (NSOutlineViewDataSource プロトコルで指定されている) は常にファイル URL ですか?

このようなメソッドの実装では、NSDictionary の writeToURL:atomically を利用しています。「.webloc」プロパティリストを書き出します。まだ使用されていないファイル名を使用して既存のファイルが上書きされないようにしたいと考えています。NSFileManager の fileExistsAtPath を使用してファイル URL を確認できることはわかっています。しかし、ファイル URL を扱っていない場合にどう対処すればよいかわかりません。では、そのような状況が起こることはあるのでしょうか?

私はそう推測しています はい, 、リモート ボリュームなどのため、URL は常にファイル URL になります。常にローカル ファイル システムのマウント ポイントを通じて提供されます。しかし、おそらく私は何かを見落としています...

「いいえ」の場合、宛先 URL にある既存のファイルが上書きされないようにファイル名を選択するにはどうすればよいでしょうか?

( 注記:OS の最小要件として Mac OS X 10.4 をターゲットとするアプリケーションを作成しています。)

役に立ちましたか?

解決

DropDestination が常にファイル URL であると仮定するのは合理的だと思われますが、確実にしたい場合は、それに送信することができます。 isFileURL メッセージ。

ファイル URL ではない奇妙なケース:プロパティ リストを書き込む前に、書き込み先の URL からダウンロードを試み、ダウンロードが成功した場合は宛先ファイル名を変更します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top