1

アプリでドロップボックス 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 

このフォルダーには他のフォルダーが含まれている可能性があります。私は次のような 2 レベルの階層を維持しています。

Photo-> xyz.png
User -> Newfolder 

フォルダー内にフォルダーが存在する可能性があることを確認したい..階層のレベルを管理するにはどうすればよいですか...そして、そのフォルダーまたはファイルをコードでどのように認識できますか??

4

1 に答える 1

0

iOS では、通常、アプリ内に複数レベルの階層を表示することはありません。UINavigatorController クラスリファレンスから:

通常、ナビゲーション インターフェイスによって表示される画面は、データの階層構造を模倣しています。階層の各レベルで、適切な screen > (カスタム ビュー コントローラーによって管理される) を提供して、そのレベルのコンテンツを表示します(私の強調)。

とにかくやりたい場合は、ディレクトリを取得してそのデータも確認する必要があります。ところで、DropBox もこれをあまり好まないので、おそらくそのレベルをキャッシュしたいと思うでしょう (ただし、独自のキャッシュを行うことにあまり熱心ではありません)。何かがディレクトリであるかどうかを判断するには、メタデータを見てください。

for (DBMetadata* child in metadata.contents) {
    if(child.isDirectory) {
        // Your stuff here...
    }
于 2011-07-04T05:03:41.123 に答える