2017-05-01 16 views
0

Wie können Sie feststellen, ob die Metadaten für eine "Datei" ein Verzeichnis oder eine Datei sind?Verzeichnis mit ObjectiveDropboxOfficial ermitteln (Dropbox V2 API)

Ich verwende die neue V2-Dropbox-API für Objective-C. Ich sehe keine Möglichkeit, zwischen einer Datei und einem Verzeichnis zu unterscheiden. Ich erwarte einen Anruf .isDirectory ähnlich wie in V1 der API verfügbar war.

Ist diese API in der Swift-Version der API verfügbar?

Der folgende Code listet alle Dateien und Verzeichnisse im angegebenen Pfad auf. (Vereinfacht, da es „mehrere Dateien“ ignoriert)

- (void)loadMetadataForPath:(NSString*)path 
{ 
    [[self.dbUserClient.filesRoutes listFolder:path ] setResponseBlock:^(DBFILESListFolderResult * _Nullable result, DBFILESListFolderError * _Nullable routeError, DBRequestError * _Nullable networkError) 
    { 
     NSArray<DBFILESMetadata*> *entries = result.entries; 
     NSString     *cursor = result.cursor; 
     BOOL       hasMore = result.hasMore.boolValue; 

     for (DBFILESMetadata *fileMetadata in entries) 
     { 
      // How do I test if this file is a directory? 
//    BOOL isDirectory = fileMetadata.isDirectory; 

      NSLog(@"Dropbox filename = %@", fileMetadata.name); 
     } 

     // Ingoring more files for simplicity 
    }]; 
} 

Antwort

1

können Sie isKindOfClass verwenden, um die Art des Eintrags zu erkennen. Es gibt an example in the readme in the printEntries method here.

+0

Ich habe das in dem Beispiel als Teil der Dokumentation verpasst. Vielen Dank. Es war nicht in ihrer Beispiel-DBRoulette-App oder als direkter Teil der API-Dokumentation. Ich denke, ich werde versuchen, eine API-Erweiterung für einen "isDirectory" -Aufruf anzufordern, da dies viel klarer ist, wenn IMO und Code-Vervollständigung es finden. –

Verwandte Themen