Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS 8照片框架:获取相册的特定列表_Ios_Objective C_Phasset - Fatal编程技术网

iOS 8照片框架:获取相册的特定列表

iOS 8照片框架:获取相册的特定列表,ios,objective-c,phasset,Ios,Objective C,Phasset,除了我自己的相册中的照片外,我正在尝试通过获取所有照片。 我试着用这个答案中的方法得到所有的照片。 但是我找不到一个选择来过滤我自己的专辑 我使用下面的代码…我可以从相册中获取除我自己的相册之外的所有照片,但是如何才能从我自己的相册中获取除我自己的照片之外的所有照片的PHFetchResult 多谢各位 PHFetchOptions *albumsFetchOption = [[PHFetchOptions alloc]init]; NSString *string = @"MyCam"; al

除了我自己的相册中的照片外,我正在尝试通过获取所有照片。 我试着用这个答案中的方法得到所有的照片。 但是我找不到一个选择来过滤我自己的专辑

我使用下面的代码…我可以从相册中获取除我自己的相册之外的所有照片,但是如何才能从我自己的相册中获取除我自己的照片之外的所有照片的PHFetchResult

多谢各位

PHFetchOptions *albumsFetchOption = [[PHFetchOptions alloc]init];
NSString *string = @"MyCam";
albumsFetchOption.predicate = [NSPredicate predicateWithFormat:@"title != %@",string];

PHFetchResult *userAlbums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAny options:albumsFetchOption];

最后,我用NSArray代替PHFetchResult

//全部取回

PHFetchOptions *allPhotosfetchOption = [[PHFetchOptions alloc]init];
allPhotosfetchOption.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:NO]];
allPhotosfetchOption.predicate = [NSPredicate predicateWithFormat:@"mediaType == 1"];

__block NSMutableArray *allAssetArray = [NSMutableArray new];
PHFetchResult *result = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeImage options:allPhotosfetchOption];
[result enumerateObjectsUsingBlock:^(PHAsset *asset, NSUInteger idx, BOOL *stop) {
        [allAssetArray addObject:asset];
}];

//MyCam Album 
NSString *string = @"MyCam";
PHFetchOptions *albumFetchOption = [[PHFetchOptions alloc]init];
albumFetchOption.predicate = [NSPredicate predicateWithFormat:@"title == %@",string];
PHFetchResult *albumResult = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAlbumRegular options:albumFetchOption];

[albumResult enumerateObjectsUsingBlock:^(PHAssetCollection *collection, NSUInteger idx, BOOL *stop) {
    PHFetchResult *loftAssetResult = [PHAsset fetchAssetsInAssetCollection:collection options:nil];
    [loftAssetResult enumerateObjectsUsingBlock:^(PHAsset *asset, NSUInteger idx, BOOL *stop) {
                if ([allAssetArray containsObject:asset]) {
                    [allAssetArray removeObject:asset];
                }
    }];
}];