2011-10-24 52 views
3

我的代码是工作在OS 4.3 但5我得到关于ALAssetsGroup 为ALAssetsGroup警告我不明白,所以我得到未找到枚举 例如它的任何方法见代码ALAssetsGroup问题与IOS 5

void (^assetEnumerator)(ALAsset *, NSUInteger, BOOL *) = ^(ALAsset *result, NSUInteger index, BOOL *stop) 
{ 
    if(result != nil) 
    { 
     [assets addObject:result]; 
    } 
}; 


// Create instance of the Assets Library. 
void (^assetGroupEnumerator)(ALAssetsGroup *, BOOL *) = ^(ALAssetsGroup *group, BOOL *stop) { 
    if(group != nil) 
    { 
     [group enumerateAssetsUsingBlock:assetEnumerator]; 
    } 
}; 



assets = [[NSMutableArray alloc] init]; 
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; 
[library enumerateGroupsWithTypes:ALAssetsGroupAlbum 
         usingBlock:assetGroupEnumerator 
        failureBlock: ^(NSError *error) { 
         NSLog(@"failureBlock:%@",error); 
        }];  

任何帮助将不胜感激 感谢

回答

2

为iOS 5的更多资产库的方法是异步的,并且希望从主线程调用。 确保在主队列上使用dispatch_async从主线程中枚举组的第二个块。

干杯,

亨德里克