【发布时间】:2017-02-10 09:19:54
【问题描述】:
我开始学习 Swift,目前正在学习为 ios 构建应用程序的课程。我试图获取照片并将它们放在 collectionview 上,它在 Xcode 的模拟器上运行良好。但是,当我在 iPhone 上尝试时,我发现collectionView 甚至无法加载。请求图片的代码是这样的。
let imgManager = PHImageManager.default()
let requestOptions = PHImageRequestOptions()
requestOptions.isSynchronous = true
requestOptions.deliveryMode = .highQualityFormat
请求选项:
let fetchOptions = PHFetchOptions()
fetchOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: true)]
if let fetchResult :PHFetchResult = PHAsset.fetchAssets(with: .image , options: fetchOptions) {
if fetchResult.countOfAssets(with: PHAssetMediaType.image) > 0 {
for i in 0..<fetchResult.count{
imgManager.requestImage(for: fetchResult.object(at: i) as! PHAsset, targetSize: CGSize(width: 200, height: 200), contentMode: .aspectFill, options: requestOptions, resultHandler: {image, Error in
self.imageArray.append(image!)
self.PHArray.append(fetchResult.object(at: i))
print("Success")
})
}
不知何故,在 iPhone 中它仍然会请求照片,但不会显示 collectionView。我对编码很陌生,我不确定这是否合适。非常高兴,欢迎任何真诚的建议。
【问题讨论】:
-
发生了什么?你
print("Success")着火了吗?我希望如果确实如此,您需要使用.reloadData()重新加载集合视图 -
您是否打印得非常好?当有更多图片时,它们需要很长时间才能上传。我试过了,但它似乎不起作用。
标签: swift uicollectionview photosframework