【发布时间】:2014-08-07 20:26:11
【问题描述】:
我正在尝试将所有用户图像的缩略图收集到一个数组中,但是当我调用 ALAssetsLibrary 的 enumerateAssetsUsingBlock 方法时,似乎什么也没发生。
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”没有被打印出来)。知道这里发生了什么吗?提前致谢!
【问题讨论】:
-
您找到解决方法了吗?
标签: ios swift closures enumeration alassetslibrary