Instance Method インスタンスメソッド

moveItem(atPath:toPath:)

Moves the file or directory at the specified path to a new location synchronously. 指定されたパスでファイルやディレクトリを新しい場所に同期的に移動します。

Declaration 宣言

func moveItem(atPath srcPath: String, 
       toPath dstPath: String) throws

Parameters パラメータ

srcPath

The path to the file or directory you want to move. This parameter must not be nil. あなたが移動することを望むファイルまたはディレクトリへのパス。このパラメータは、nilであってはいけません。

dstPath

The new path for the item in srcPath. This path must include the name of the file or directory in its new location. This parameter must not be nil. srcPathにおける項目に対する新しいパス。このパスは、ファイルまたはディレクトリのそれの新しい場所における名前を含まなければなりません。このパラメータは、nilであってはいけません。

Return Value 戻り値

true if the item was moved successfully or the file manager’s delegate stopped the operation deliberately. Returns false if an error occurred. 項目がうまく移動されたならば、またはファイルマネージャの持つ委任先が操作を故意に停止したならばtrue。エラーが発生したならばfalseを返します。

Discussion 議論

When moving items, the current process must have permission to read the item at srcPath and write the parent directory of dstPath. If the item at srcPath is a directory, this method moves the directory and all of its contents, including any hidden files. If an item with the same name already exists at dstPath, this method stops the move attempt and returns an appropriate error. If the last component of srcPath is a symbolic link, only the link is moved to the new path; the item pointed to by the link remains at its current location. 項目を移動する場合、現在のプロセスはsrcPathでの項目を読み込む、そしてdstPathの親ディレクトリに書き出す権限を持たなければなりません。srcPathでの項目がディレクトリならば、このメソッドはそのディレクトリとそれの内容の全てを移動します、あらゆる不可視ファイルを含めて。同じ名前を持つ項目が既にdstPathで存在するならば、このメソッドは移動の試みを停止して、適切なエラーを返します。srcPathの最後の構成要素がシンボリックリンクならば、そのリンクだけが新しいパスに移動されます;リンクによって指し示される項目はそれの現在の位置にとどまります。

Prior to moving the item, the file manager asks its delegate if it should actually move it. It does this by calling the fileManager(_:shouldMoveItemAt:to:) method; if that method is not implemented it calls the fileManager(_:shouldMoveItemAtPath:toPath:) method instead. If the item being moved is a directory, the file manager notifies the delegate only for the directory itself and not for any of its contents. If the delegate method returns true, or if the delegate does not implement the appropriate methods, the file manager moves the file. If there is an error moving one out of several items, the file manager may also call the delegate’s fileManager(_:shouldProceedAfterError:movingItemAt:to:) or fileManager(_:shouldProceedAfterError:movingItemAtPath:toPath:) method to determine how to proceed. 項目を移動するに先だって、ファイルマネージャは、それが実際にそれを移動するべきかそれの委任先に尋ねます。それはこれをfileManager(_:shouldMoveItemAt:to:)メソッドを呼び出すことによって行います; そのメソッドが実装されていないならばそれはfileManager(_:shouldMoveItemAtPath:toPath:)メソッドを代わりに呼び出します。移動される項目がディレクトリならば、ファイルマネージャは委任先にディレクトリ自身についてだけ通知します、それの内容のどれかについてはしません。委任先メソッドがtrueを返すならば、または委任先が適切なメソッドを実装しないならば、ファイルマネージャはファイルを移動します。項目の移動に関してエラーがあるならば、ファイルマネージャはまた委任先の持つfileManager(_:shouldProceedAfterError:movingItemAt:to:)またはfileManager(_:shouldProceedAfterError:movingItemAtPath:toPath:)メソッドを呼び出してどのように続けるか決定します。

If the source and destination of the move operation are not on the same volume, this method copies the item first and then removes it from its current location. This behavior may trigger additional delegate notifications related to copying and removing individual items. 移動操作の出所と行き先が同じボリュームでないならば、このメソッドは項目をまずコピーします、それからそれをそれの現在の位置から除去します。この挙動は、別個の項目のコピーと削除に関係した追加の委任先通知の引き金となるかもしれません。

See Also 参照

Moving and Copying Items 項目の移動とコピー

Related Documentation 関連文書