var presentedItemURL : URL?
var presentedItemOperationQueue : OperationQueue
var primaryPresentedItemURL : URL?
Availability 有効性
Technology
protocol NSFilePresenter
Objects that allow the user to view or edit the content of files or directories should adopt the NSFile
protocol. You use file presenters in conjunction with an NSFile
object to coordinate access to a file or directory among the objects of your application and between your application and other processes. When changes to an item occur, the system notifies objects that adopt this protocol and gives them a chance to respond appropriately.
ユーザにファイルまたはディレクトリの内容を眺めさせるまたは編集させるオブジェクトは、NSFile
プロトコルを採用すべきです。あなたは、ファイルプレゼンタをNSFile
オブジェクトと連携して使うことで、あなたのアプリケーションのオブジェクトいくらかの間でそしてあなたのアプリケーションと他のプロセスの間でファイルまたはディレクトリに対してアクセスを協調させます。ある項目に対する変更が起こる場合、システムはこのプロトコルを採用するオブジェクトそれらに通知します、そして適切に応答する機会をそれらに与えます。
Use the methods of this protocol to respond to actions about to be taken on the presented file or directory. When another object or process uses a file coordinator to begin reading or writing a file or directory, the file coordinator notifies all presented objects interested in the item first. It notifies the presenter objects by invoking one of the methods defined by this protocol on that object. The actual invocation of that method occurs on the operation queue in the presented
property. Your file presenter must provide this queue. If your queue supports the concurrent execution of operations, the methods of your presenter object must be thread-safe and able to run in multiple queues simultaneously.
このプロトコルのメソッドを使うことで、その提示されたファイルまたはディレクトリ上で取られようとしているアクションに応答してください。別のオブジェクトまたはプロセスがファイルコーディネータを使ってファイルまたはディレクトリの読み出しまたは書き込みを始める場合、ファイルコーディネータはその項目に興味を持っている全ての提示されたオブジェクトに通知します、まず最初に。それはプレゼンタオブジェクトそれらに通知することを、このプロトコルによって定義されるメソッドの1つをそのオブジェクト上で発動することで行います。このメソッドの実際の発動は、presented
プロパティの中の演算キュー上で起こります。あなたのファイルプレゼンタは、このキューを提供しなければなりません。あなたのキューが演算の並列実行をサポートするならば、あなたのプレゼンタオブジェクトのメソッドそれらはスレッド安全で、そして複数のキューにおいて同時に実行できなければなりません。
You can use file presenters to coordinate access to a file or directory among your application’s objects. If another process uses a file coordinator for the same file or directory, your presenter objects are similarly notified whenever the other process makes its changes. Your presenter objects are not notified about changes made directly using low-level read and write calls to the file. Only changes that go through a file coordinator result in notifications. あなたは、ファイルプレゼンタを使って、あなたのアプリケーションのオブジェクトの間でファイルまたはディレクトリに対するアクセスを協調させることができます。別のプロセスが、ファイルコーディネータを同じファイルまたはディレクトリに対して使うならば、あなたプレゼンタオブジェクトは他のプロセスがそれの変更を為す時はいつでも同様に通知されます。あなたのプレゼンタオブジェクトは、低水準読み出しおよび書き込みを使ってファイルに直接になされる変更については通知されません。ファイルコーディネータを通り抜ける変更だけが通知という結果になります。
For information about how to use file presenters with a file coordinator object, see NSFile
.
ファイルプレゼンタそれらをあるファイルコーディネータオブジェクトとともに使う方法についての情報として、NSFile
を見てください。
If your app enters the background with an active file presenter, any other processes that perform a coordinated read or write on the presented file can deadlock. To prevent this situation, call the coordinator's remove
type method to remove the file presenter in the application
method or in response to a did
notification. Call add
to add the file presenter again in the application
method or in response to a will
notification.
あなたのアプリが活動中のファイルプレゼンタとともにバックグラウンドに入るならば、協調読み出しまたは書き込みをその提示されたファイル上で実行する何らかの他のプロセスは、膠着状態になりえます。この状況を防止するには、コーディネータのremove
型メソッドを呼び出してそのファイルプレゼンタをapplication
メソッドにおいてまたはdid
通知に答えて取り除いてください。add
を呼び出すことで、再びファイルプレゼンタをapplication
メソッドにおいてまたはwill
通知に答えて加えてください。
Note 注意
The UIDocument
class automatically removes itself when your app goes to the background. It automatically adds itself again when your app returns to the foreground.
UIDocument
クラスは、あなたのアプリがバックグラウンドに回る場合に、自動的にそれ自身を取り除きます。それは、あなたのアプリが前面に戻る場合に、自動的に再びそれ自身を加えます。
var presentedItemURL : URL?
var presentedItemOperationQueue : OperationQueue
var primaryPresentedItemURL : URL?
func relinquishPresentedItem (toReader : ((() -> Void)?) -> Void)
func relinquishPresentedItem (toWriter : ((() -> Void)?) -> Void)
func savePresentedItemChanges (completionHandler : (Error?) -> Void)
func accommodatePresentedItemDeletion (completionHandler : (Error?) -> Void)
func presentedItemDidMove (to: URL)
func presentedItemDidChange ()
func presentedItemDidGain (NSFileVersion)
func presentedItemDidLose (NSFileVersion)
func presentedItemDidResolveConflict (NSFileVersion)
func presentedSubitem (at: URL, didGain : NSFileVersion)
func presentedSubitem (at: URL, didLose : NSFileVersion)
func presentedSubitem (at: URL, didResolve : NSFileVersion)
func accommodatePresentedSubitemDeletion (at: URL, completionHandler : (Error?) -> Void)
func presentedSubitemDidAppear (at: URL)
func presentedSubitem (at: URL, didMoveTo : URL)
func presentedSubitemDidChange (at: URL)
var observedPresentedItemUbiquityAttributes : Set<URLResourceKey>
func presentedItemDidChangeUbiquityAttributes (Set<URLResourceKey>)
class NSFileAccessIntent
class NSFileCoordinator