2016-07-27 10 views
1

latestObjectのタイプを確認したいと思います。ここではいくつかのコードがあります:取り出したオブジェクトがSwiftのImageまたはVideoであるかチェックしてください

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です:

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

チェック:1)http://stackoverflow.com/questions/31582717/how-to-check-a-file-is-video-or-image 2)http://stackoverflow.com/questions/17145844/ iphone-how-to-the-file-is-a-directory-audio-video-or-image – sohil

答えて

3

は、あなたがこのような何かを試してみました。 したがって、PHAssetにキャストすると、mediaTypeというプロパティにアクセスできます。

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 
    } 
} 
+0

私はUIImagePickerControllerを使用しません – mafioso

関連する問題