Проверьте, является ли извлеченный объект изображением или видео в Swift

Я хочу проверить, какого типа последний объект. Вот код:

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?

person mafioso    schedule 27.07.2016    source источник
comment
проверить: 1) stackoverflow.com/questions/31582717/ 2)stackoverflow.com/questions/17145844/   -  person sohil    schedule 27.07.2016


Ответы (2)


Вы пробовали что-то вроде этого:

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.

person OOPer    schedule 27.07.2016

person    schedule
comment
Я не использую UIImagePickerController - person mafioso; 27.07.2016