macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

duplicateURLs:completionHandler:

INDEX>AppKit>NSWorkspace

指定したファイル(複数可)を複製します。

Objective-C

- (void)duplicateURLs:(NSArray *)URLs
    completionHandler:(void (^)(NSDictionary *newURLs,
                                NSError *error))completionHandler

Swift

func duplicateURLs(_ URLs: [AnyObject],
 completionHandler completionHandler: (([NSObject : AnyObject]!,
                            NSError!) -> Void)?)

解説

指定したファイル(複数可)を複製します。
そのままではファイル名が重複するので、末尾に数字を付けて重複しない名前とします。

返り値

Objective-C

Swift


    

フレームワーク

ApplicationKit

クラス

NSWorkspace

使用可能

10.0

更新時のバージョン

OS X 10.10

参照

関連記事(外部サイト)

例文

Objective-C

Swift

    //NSWorkspace duplicateURLs
    @IBAction func function011(sender: AnyObject) {
        //複製するファイルを選択
        var openPanel = NSOpenPanel()
        openPanel.allowsMultipleSelection = false
        openPanel.canChooseDirectories = false
        openPanel.canCreateDirectories = false
        openPanel.canChooseFiles = true
        openPanel.beginWithCompletionHandler { (result) -> Void in
            //オープンパネルでOKを選択したら
            if result == NSFileHandlingPanelOKButton {
                //選択したファイルを複製
                let theWorkspace : NSWorkspace = NSWorkspace.sharedWorkspace()
                theWorkspace.duplicateURLs(openPanel.URLs, completionHandler: {
                    (dic : [ NSObject : AnyObject]!, err) in
                    NSLog("%@", (dic as Dictionary).description)
                    //let values: Array = Array(dic.keys)
                    let values: Array = Array(dic.values)
                    for (index, value) in enumerate(values) {
                        println("index: \(index), value: \(value)")
                    }
                })
            }//if result
        }//openPanel.beginWithCompletionHandler
    }