我想检查latestObject的类型。这是一些代码:
allMedia = PHAsset.fetchAssetsWithOptions(fetchOptions)
let allPhotos = PHAsset.fetchAssetsWithMediaType(.Image, options: fetchOptions)
let allVideo = PHAsset.fetchAssetsWithMediaType(.Video, options: fetchOptions)
print("Found \(allMedia.count) media")
print("Found \(allPhotos.count) images")
print("Found \(allVideo.count) videos")
let latestObject: AnyObject! = allMedia.lastObject
// How to check what type latestObject is?
// I think something with mediaType but how is it exactly going?
答案 0 :(得分:5)
你有没有试过这样的事情:
if let asset = allMedia.lastObject as? PHAsset {
switch asset.mediaType {
case .Image:
print("Image")
case .Video:
print("Video")
case .Audio:
print("Audio")
default:
print("Unknown")
}
}
PHFetchResult
中包含的每个元素都是PHAsset
(在本例中)。
因此,通过转换为PHAsset
,您可以访问属性mediaType
。
答案 1 :(得分:0)
You can check it in UIImagePickerController delegate method
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
if((info["UIImagePickerControllerMediaType"] as! String) == "public.movie" ){
// Video file
}
else{
// Image
}
}