我希望用户能够访问他们所有的照片,但是一次加载它们需要太长时间PHAsset.fetchAssetsInAssetCollection
,特别是如果他们有 500 多张照片(我在自定义视图中的集合视图中显示它们)。我正在考虑scrollViewDidScroll
在用户到达集合视图的末尾时使用来加载下一组,但我不知道如何x
从照片库中获取下一个数量。
我限制了他们可以使用的照片数量fetchOptions.fetchLimit = x
,但我不知道如何告诉函数从哪里开始获取资产。可能吗?
这是我当前代码的片段(在代码assetCollections
的不同部分设置):
let fetchOptions = PHFetchOptions()
fetchOptions.predicate = NSPredicate(format: kFormatOfPredicate, PHAssetMediaType.Image.rawValue)
fetchOptions.sortDescriptors = [NSSortDescriptor(key: kSortByCreationDateString, ascending: false)]
fetchOptions.fetchLimit = 32
//Only want camera roll
if assetCollection.localizedTitle == kCameraRollString {
assets = PHAsset.fetchAssetsInAssetCollection(assetCollection, options: fetchOptions)
if assets.count > 32 {
for i in 0..<32 {
if let asset = assets[i] as? PHAsset {
appendImageArray(assetToBeChanged: asset)
}
}
} else {
for i in 0..<assets.count {
if let asset = assets[i] as? PHAsset {
appendImageArray(assetToBeChanged: asset)
}
}
}
我可以添加一些fetchOptions
内容来说明要开始获取哪些资产吗?有没有更好的方法完全做到这一点?如果您需要我发布更多代码,请告诉我,并提前感谢您!