NSCollectionViewItem を Finder にドラッグすると、ファイルを Finder にコピーする関数を開発しているので、次のデリゲートを実装します。
- (BOOL)collectionView:(NSCollectionView *)cv writeItemsAtIndexes:(NSIndexSet *)indexes toPasteboard:(NSPasteboard *)pasteboard
{
NSMutableArray *urls = [NSMutableArray array];
[indexes enumerateIndexesUsingBlock:^(NSUInteger idx, BOOL *stop)
{
NSDictionary *dictionary = [[cv content] objectAtIndex:idx];
[urls addObject:[dictionary objectForKey:KEY_URL]];
}];
if ([urls count] > 0)
{
[pasteboard clearContents];
BOOL result = [pasteboard writeObjects:urls];
return result;
}
return NO;
}
またはこの方法:
- (BOOL)collectionView:(NSCollectionView *)cv writeItemsAtIndexes:(NSIndexSet *)indexes toPasteboard:(NSPasteboard *)pasteboard
{
NSMutableArray *urls = [NSMutableArray array];
[indexes enumerateIndexesUsingBlock:^(NSUInteger idx, BOOL *stop)
{
NSDictionary *dictionary = [[cv content] objectAtIndex:idx];
[urls addObject:[[dictionary objectForKey:KEY_URL] path]];
}];
[pasteboard declareTypes:@[NSFilenamesPboardType] owner:self];
[pasteboard setPropertyList:urls forType:NSFilenamesPboardType];
return YES;
}
どちらも正常に動作します。
今、私は本当に他の機能のドラッグ先URLを取得したい. 誰でも私がそれを解決するのを手伝ってくれますか?