2

[pasteboard writeObjects:pasteboardArray];どこpasteboardが一般的なペーストボードのオブジェクトでありpasteboardArray、NSURLのNSArrayであるを使用して、いくつかのfileURLを一般的なペーストボードに書きたいと思います。次のようにペーストボードにURLを書き込みます

ファイル://localhost/Usr/

ファイル://localhost/Vol/

...等々

これらのURLを次のように書きたい

ユーザー

..等々

つまり、システムがファイル/ディレクトリをコピーする際に行うように、ファイル/ディレクトリの名前のみです。

4

2 に答える 2

1
NSMutableArray *archive=[NSMutableArray array];
                for (int i = 0; i < [pasteboardArray count]; i++) {
                    NSPasteboardItem *item = [[NSPasteboardItem alloc] init];
                    NSURL *url = [pasteboardArray objectAtIndex:i];
                    if (url != nil) {
                        [item setString:[url lastPathComponent] forType:(__bridge NSString*)kUTTypeUTF8PlainText];
                        NSString *str = [NSString stringWithFormat:@"%@",url];
                        [item setData:[str dataUsingEncoding:NSUTF8StringEncoding] forType:(__bridge NSString*)kUTTypeFileURL];
                    }
                    [archive addObject:item];
                }
[pasteboard writeObjects:archive];

これは私にとってはうまくいきました。 はpasteboard一般的なペーストボードのオブジェクトでありpasteboardArray、NSURL の NSArray です。より良い解決策は大歓迎です...

于 2015-02-14T12:57:06.477 に答える