Dropbox Api в iphone Проблема - PullRequest
1 голос
/ 03 июня 2011

Я использую Dropbox API в моем приложении.Я отображаю метаданные в корне в контроллере таблиц, используя этот код

[self.restClient loadMetadata:@"/" ];
    - (void)restClient:(DBRestClient*)client loadedMetadata:(DBMetadata*)metadata {

        [self.metaArray release];
        self.metaArray = [[NSMutableArray alloc]init ];

        for (DBMetadata *child in metadata.contents) {

            NSString *folderName = [[child.path pathComponents] lastObject];
            [self.metaArray addObject:folderName];
            }

        [self.tableView reloadData];
        [self.activityIndicator stopAnimating];


    }

Он возвращает: -

Photos
User
Public 

Эта папка может содержать другие папки, я поддерживаю двухуровневую иерархию, например

Photo-> xyz.png
User -> Newfolder 

Я хочу спросить, что в папках могут быть папки ... Как я могу управлять уровнями иерархии ... и как я могу узнать по коду, что его папка или файл ??

1 Ответ

0 голосов
/ 04 июля 2011

В iOS вы обычно не отображаете несколько уровней иерархии в приложении.Из справочника по классам UINavigatorController :

Экраны, представленные интерфейсом навигации, обычно имитируют иерархическую организацию ваших данных.На каждом уровне иерархии вы предоставляете соответствующий экран> (управляемый настраиваемым контроллером представления) для отображения содержимого на этом уровне (выделение мое).

Если выВ любом случае, если вы захотите это сделать, вам нужно взять свои каталоги и посмотреть на их данные.Кстати, DropBox тоже не очень-то нравится, так что вы, вероятно, захотите кэшировать этот уровень (хотя они не слишком заинтересованы в том, чтобы вы выполняли кеширование самостоятельно).Чтобы выяснить, является ли каталог каталогом или нет, посмотрите на метаданные:

for (DBMetadata* child in metadata.contents) {
    if(child.isDirectory) {
        // Your stuff here...
    }
...