recherche

Maison  >  Questions et réponses  >  le corps du texte

objective-c - Comment obtenir le chemin du fichier lors du déplacement d'un fichier sous OS X

Faites glisser le fichier pour obtenir le chemin du fichier

// (id <NSDraggingInfo>)sender
NSURL *fileURL=[NSURL URLFromPasteboard: [sender draggingPasteboard]];

Récupérez l'URL et imprimez 2016-08-01 17:11:21.201 DragAndDrop[3504:170407] file:///.file/id=6571367.14796550. Au lieu d'un chemin de fichier au format /Users/jolie/Downloads.

迷茫迷茫2803 Il y a quelques jours578

répondre à tous(1)je répondrai

  • 阿神

    阿神2017-05-02 09:30:28

    NSString *filePath = [fileURL path];

    Réflexion sur le problème : ce problème a encore pris beaucoup de temps. Mon idée initiale était d'obtenir NSURL à partir de Pasteboard. NSImage peut également être initialisé via Pasteboard, donc je voulais obtenir fileName à partir de Pasteboard. , j'ai pensé Obtenir NSString et l'initialiser via Pasteboard, mais il n'a pas été trouvé À partir de l'API Apple, nous pouvons voir que NSString suit les protocoles NSPasteboardWriting et NSPasteboardReading, mais ne fournit pas d'interfaces pertinentes.
    Cependant, un projet extrait de github a révélé que la réponse au problème est très simple. NSURL fournit le chemin pour obtenir le chemin du fichier. La raison pour laquelle le problème a pris autant de temps ne peut être considérée que parce que je ne suis pas familier avec l'API NSURL.

    répondre
    0
  • Annulerrépondre