以下代码崩溃,因为' imageURLString'是NIL,我有点理解。但玩弄objectForKey并没有把我带到伊甸园。有人可以帮我一脚......? 日Thnx!
PHImageManager.defaultManager().requestImageDataForAsset(item, options: nil){
imageData,dataUTI,orientation,info in
let imageURLString = info!["PHImageFileURLKey"] as! String
let imageURL = NSURL(string: imageURLString)
print("imageURL: \(imageURL)")
}
答案 0 :(得分:2)
info!["PHImageFileURLKey"]
确切地说是NSURL
。如果强制施放到String
。它会在这里崩溃。请参阅下面的代码以获得修复。
PHImageManager.defaultManager().requestImageDataForAsset(item, options: nil){
imageData,dataUTI,orientation,info in
let imageURL = info!["PHImageFileURLKey"] as! NSURL
//let imageURL = NSURL(string: imageURLString)
print("imageURL: \(imageURL)")
}
或安全代码:
PHImageManager.defaultManager().requestImageDataForAsset(item, options: nil){
imageData,dataUTI,orientation,info in
if let _ = info {
// info will not nil here
if let imageURL = info!["PHImageFileURLKey"] as NSURL {
print("imageURL: \(imageURL)")
}
}
//let imageURL = NSURL(string: imageURLString)
//print("imageURL: \(imageURL)")
}
希望有所帮助!
答案 1 :(得分:1)
PHImageFileURLKey
直接返回NSURL
,这就是您的问题。你假设它是String
。