Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.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
Iphone 如何仅获取某些PHCollections?_Iphone_Ios8_Photos_Phasset - Fatal编程技术网

Iphone 如何仅获取某些PHCollections?

Iphone 如何仅获取某些PHCollections?,iphone,ios8,photos,phasset,Iphone,Ios8,Photos,Phasset,我已经在我的应用程序中创建了三个PHCollections。在我的应用程序的另一个部分中,我尝试获取它们并在表视图中显示它们。我可以使用以下代码获得所有用户创建的库 let topLevelUserCollections: PHFetchResult = PHCollectionList.fetchTopLevelUserCollectionsWithOptions(nil) self.collectionsFetchResults = [topLevelUserCollect

我已经在我的应用程序中创建了三个PHCollections。在我的应用程序的另一个部分中,我尝试获取它们并在表视图中显示它们。我可以使用以下代码获得所有用户创建的库

    let topLevelUserCollections: PHFetchResult  = PHCollectionList.fetchTopLevelUserCollectionsWithOptions(nil)
    self.collectionsFetchResults = [topLevelUserCollections];
    self.collectionsLocalizedTitles = ["My Clips"];
    PHPhotoLibrary.sharedPhotoLibrary().registerChangeObserver(self) //With this you need to conform to PHPhotoLibraryChangeObserver

但我如何才能只提取我想要的资产集合?另外,我只需要视频而不需要图像,是否有方法仅使用视频资产获取结果?

您正在调用
PHCollectionList.fetchTopLevelUserCollectionsWithOptions
,参数为nil。但是,零是最好的选择。这些选项正是您制定此类规范的方式


特别是,如果您自己创建了这些集合,那么就有了它们的
localIdentifier
值。这正是您在PHFetchOptions
谓词
中指定的提取这些集合的方法。你也可以通过
localizedTitle
等等来实现这一点。

我想我在理论上理解了如何做到这一点(我知道如何将标题作为谓词传递),但我并不真正理解如何传递多个值,例如如何将相册打包为三个标题。对每个标题进行三次查询?或者看看如何形成一个复杂的NSPredicate。这里讨论得很好: