プログラムを書こう!

実務や自作アプリ開発で習得した役に立つソフトウェア技術情報を発信するブログ

SwiftのBox APIでディレクトリを作成する。

この記事は2018年10月08日に投稿しました。

目次

  1. はじめに
  2. 前提
  3. ディレクトリ作成処理
  4. おわりに

1. はじめに

こんにちは、iOSのエディタアプリPWEditorの開発者の二俣です。
今回はSwiftのBox APIディレクトリを作成する手順の紹介です。

目次へ

2. 前提

iOSアプリからBox APIにアクセスするため、Box iOS SDKライブラリを使用します。
以下の記事を参考に、Box APIを使用する準備をしておいてください。

paveway.hatenablog.com

目次へ

3. ディレクトリ作成処理

SwiftのBox APIディレクトリを作成するには、クライアントオブジェクトのfolderCreateRequestメソッドを使用します。

以下がディレクトリを作成する手順です。 この手順は、Box iOS SDKライブラリのドキュメントFoldersCreate a new Box Folderを参考にしました。

  1. Boxのクライアントオブジェクトを取得します。
  2. クライアントオブジェクトのfolderCreateRequestメソッドで、ディレクトリ作成リクエストを生成します。
    folderCreateRequestメソッドの引数には、

    を指定します。

  3. ディレクトリ作成リクエストのperformメソッドを実行し、ディレクトリを作成します。
    ディレクトリを作成した結果はクロージャーで返却されます。
    ネットワークアクセスしますので、PWEditorではディレクトリ作成中は、処理中ダイアログを表示しています。
  4. エラーがあれば、クロージャーの引数errorが設定されます。
    作成したディレクトリはクロージャーの引数folderに設定されます。

実装例

import BOXContentSDK

/**
 ディレクトリを作成します。

 - Parameter dirName: ディレクトリ名
 - Parameter parentId: ディレクトリを作成するディレクトリのID
 */
func createDir(_ dirName: String, parentId: String) {
    // 1. クライアントオブジェクトを取得します。
    guard let client = BoxContentClient.default() else {
        // クライアントオブジェ久我取得できない場合、処理を終了します。
        // 必要に応じてエラー処理を行ってください。
        return
    }

    // 2. ディレクトリ作成リクエストを取得します。
    let request = client.folderCreateRequest(withName: dirName, parentFolderID: parentId)
    
    // 3. ディレクトリを作成します。
    request.perform(completion: { (folder: BOXFolder?, error: Error?) -> Void in
        // 4. エラーかチェックします。
        if let error = error {
            // エラーの場合、処理を終了します。
            // 必要に応じてエラー処理してください。
            return
        }
        
        // 4. ディレクトリが作成されたかチェックします。
        guard let _ = folder else {
            // ディレクトリが作成されていない場合、処理を終了します。
            // 必要に応じてエラー処理してください。
            return
        }

        // 以降正常終了した場合の処理を記述してください。
    })
}

目次へ

4. おわりに

ファイル作成のfileUploadRequestToFolderメソッドの引数の順序は、

でした。

しかし今回のディレクトリ作成のfolderCreateRequestメソッドの引数の順序は、

です。

細かい話ですが、引数の順序も合わせてもらえたらと、思いました。

プログラミングスクール【Tech Boost】

目次へ