如何从iphone照片库中获取照片总数?

我想获得照片库中的照片数量。 目前,我可以从照片库中获取照片,并将其添加到myApp的文档指导方针中。 但是我想要的是,将所有照片从照片库保存到myApp ALL AT ONCE的文档指引。 这就是为什么我需要照片库中的照片数量。 我用UIImagePickerControllerSourceTypePhotoLibrary从iPhone photoLibrary检索照片。

任何帮助将被appreaciated ..

提前致谢….

为此使用ALAssetsLibrary:

int imgCount = 0; self.assetsLibrary = [[ALAssetsLibrary alloc] init]; dispatch_queue_t dispatchQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_async(dispatchQueue, ^(void) { [self.assetsLibrary enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:^(ALAssetsGroup *group, BOOL *stop) { [group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, __block BOOL foundThePhoto = NO; if (foundThePhoto){ *stop = YES; } BOOL *stop) { /* Get the asset type */ NSString *assetType = [result valueForProperty:ALAssetPropertyType]; if ([assetType isEqualToString:ALAssetTypePhoto]){ NSLog(@"This is a photo asset"); foundThePhoto = YES; *stop = YES; /* Get the asset's representation object */ ALAssetRepresentation *assetRepresentation = [result defaultRepresentation]; /* We need the scale and orientation to be able to construct a properly oriented and scaled UIImage out of the representation object */ CGFloat imageScale = [assetRepresentation scale]; UIImageOrientation imageOrientation = (UIImageOrientation)[assetRepresentation orientation]; dispatch_async(dispatch_get_main_queue(), ^(void) { CGImageRef imageReference = [assetRepresentation fullResolutionImage]; /* Construct the image now */ UIImage *image = [[UIImage alloc] initWithCGImage:imageReference scale:imageScale orientation:imageOrientation]; //Write image to doument directory imgCount ++; } }); } failureBlock:^(NSError *error) { } }]; NSLog(@"Failed to enumerate the asset groups."); }]; }) NSLog(@"Total Image Count %d",imgCount); 

下面的代码块计算所有video和照片:

 __block int videoCount = 0; __block int photoCount = 0; ALAssetsLibrary *assetLibrary = [[ALAssetsLibrary alloc]init]; [assetLibrary enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:^(ALAssetsGroup *group, BOOL *stop) { if (group == nil) { // enumeration complete return; } int total = group.numberOfAssets; [group setAssetsFilter:[ALAssetsFilter allVideos]]; int groupVideoCount = group.numberOfAssets; videoCount += groupVideoCount; photoCount += total - groupVideoCount; } failureBlock:^(NSError *error) { // Handle error }];