2014-01-09 64 views
0

我試圖從時間戳(創建或修改時間)的圖片庫中顯示圖像。我使用下面的代碼獲取了圖像。我怎樣才能正確地獲得他們的時間戳?這裏是代碼:使用ALAssetLibrary獲取圖片庫中圖像的時間戳

-(void)getAllPictures{ 
imageArray=[[NSArray alloc] init]; 
mutableArray =[[NSMutableArray alloc]init]; 
NSMutableArray* assetURLDictionaries = [[NSMutableArray alloc] init]; 

library = [[ALAssetsLibrary alloc] init]; 

void (^assetEnumerator)(ALAsset *, NSUInteger, BOOL *) = ^(ALAsset *result, NSUInteger index, BOOL *stop) { 
    if(result != nil) { 
     if([[result valueForProperty:ALAssetPropertyType] isEqualToString:ALAssetTypePhoto]) { 
      [assetURLDictionaries addObject:[result valueForProperty:ALAssetPropertyURLs]]; 

      NSURL *url= (NSURL*) [[result defaultRepresentation]url]; 

      [library assetForURL:url 
        resultBlock:^(ALAsset *asset) { 
         [mutableArray addObject:[UIImage imageWithCGImage:[[asset defaultRepresentation] fullScreenImage]]]; 

         if ([mutableArray count]==count) 
         { 
          imageArray=[[NSArray alloc] initWithArray:mutableArray]; 
          [self allPhotosCollected:imageArray]; 
         } 
        } 
        failureBlock:^(NSError *error){ NSLog(@"operation was not successfull!"); } ]; 
      NSLog(@"ali: %@",result); 

     } 
    } 
}; 

NSMutableArray *assetGroups = [[NSMutableArray alloc] init]; 

void (^ assetGroupEnumerator) (ALAssetsGroup *, BOOL *)= ^(ALAssetsGroup *group, BOOL *stop) { 
    if(group != nil) { 
     [group enumerateAssetsUsingBlock:assetEnumerator]; 
     [assetGroups addObject:group]; 
     count=[group numberOfAssets]; 
    } 
}; 

assetGroups = [[NSMutableArray alloc] init]; 

[library enumerateGroupsWithTypes:ALAssetsGroupAll 
         usingBlock:assetGroupEnumerator 
        failureBlock:^(NSError *error) {NSLog(@"There is an error");}];} 
-(void)allPhotosCollected:(NSArray*)imgArray{ 
//write your code here after getting all the photos from library... 
NSLog(@"all pictures are %@",imgArray); 
for (int i=0; i<imgArray.count; i++) { 


UIImageView *img=[[UIImageView alloc] initWithImage:imgArray[i]]; 
img.frame=CGRectMake(10, 20+105*i, 200, 100); 
[self.view addSubview:img]; 

} 

}

回答

1

要獲得時間戳使用:

NSDate *date = [asset valueForProperty:ALAssetPropertyDate];