loadValuesAsynchronouslyForKeys и загрузка нескольких значений

Я хотел бы асинхронно загрузить продолжительность, время (временная метка, когда было создано видео) и языковой стандарт объекта.

Весь пример кода показанный Apple для использования 'loadValuesAsynchronouslyForKeys: keys' всегда отображается только с одним ключом. например:

NSURL *url = aUrl; 
AVAsset asset = [[AVURLAsset alloc] initWithURL:url options:nil];

NSArray *keys = [NSArray arrayWithObject:@"duration"];
[asset loadValuesAsynchronouslyForKeys:keys completionHandler:^() {

NSError *error = nil;
AVKeyValueStatus durationStatus = [asset statusOfValueForKey:@"duration" error:&error];

switch (durationSatus) {
    case AVKeyValueStatusLoaded:
            // Read duration from asset
            CMTime assetDurationInCMTime = [asset duration];            
        break;

        case AVKeyValueStatusFailed:
            // Report error
        break; 

        case AVKeyValueStatusCancelled:
        // Do whatever is appropriate for cancelation   
    }
}];

Могу ли я предположить, что если статус одного элемента - «AVKeyValueStatusLoaded», другие значения могут быть прочитаны одновременно в блоке завершения? т.е.:

[asset tracks]
[asset commonMetadata];
[asset duration]
6
задан Peter Kovich 21 June 2011 в 00:50
поделиться