我试图将所有用户图像的缩略图收集到一个数组中,但是当我调用enumerateAssetsUsingBlock
的方法ALAssetsLibrary
似乎什么也没发生。
import UIKit
import AssetsLibrary
class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
@IBOutlet var photoLibView: UICollectionView
var assetLibrary : ALAssetsLibrary = ALAssetsLibrary()
func showCustomLibrary() {
self.assetLibrary = ALAssetsLibrary()
var assetsArray : [ALAsset] = []
var imageArray : [CGImage] = []
var count = 0
var countOne = 0
let assetsType : ALAssetsGroupType = Int(ALAssetsGroupAll)
var groupBlock : ALAssetsLibraryGroupsEnumerationResultsBlock = {
(group: ALAssetsGroup!, stop: UnsafePointer<ObjCBool>) in
println("is goin")
count++
var assetBlock : ALAssetsGroupEnumerationResultsBlock = {
(result: ALAsset!, index: Int, stop: UnsafePointer<ObjCBool>) in
imageArray.append(result.thumbnail().takeRetainedValue())
assetsArray.append(result)
countOne++
}
group.enumerateAssetsUsingBlock(assetBlock)
}
var groupFailureBlock : ALAssetsLibraryAccessFailureBlock = {
(NSError) in
println("errorrrrrrrr")
}
assetLibrary.enumerateGroupsWithTypes(assetsType, usingBlock: groupBlock, failureBlock: groupFailureBlock)
println("number of groups")
println(count)
println("number of total assets")
println(countOne)
self.photoLibView.insertItemsAtIndexPaths(imageArray)
}
}
当我运行 showCustomLibrary() 被调用时,编译器打印number of groups
0
number of total assets
0
fatal error: unexpectedly found nil while unwrapping an Optional value
因为看起来好像这些团体ALAssetsLibrary
均不一一列举。 (“is goin”没有被打印)。知道这是怎么回事吗?提前致谢!
我发现了这个问题。
在这个“组”中,结果不应该为零,否则它会很快崩溃。
所以我们应该检查 nil 情况
喜欢
var groupBlock : ALAssetsLibraryGroupsEnumerationResultsBlock = {
(group: ALAssetsGroup!, stop: UnsafePointer<ObjCBool>) in
println("is goin")
if group != nil
{
count++
var assetBlock : ALAssetsGroupEnumerationResultsBlock = {
(result: ALAsset!, index: Int, stop: UnsafePointer<ObjCBool>) in
if result != nil
{
imageArray.append(result.thumbnail().takeRetainedValue())
assetsArray.append(result)
countOne++
}
}
}
group.enumerateAssetsUsingBlock(assetBlock)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)