我遇到问题,请检查UIImage
是否为零,以显示UIAlertViewController
。如何在Swift中使用YouTube Api v3来正确检查UIImage是否为零?
我的应用程序从youtube频道获取播放列表。其中一个播放列表中包含的视频已被YouTube删除,因此在获取播放列表数据时不包含“缩略图”键。
这是我已经执行的代码来检查是否有缩略图图像显示,否则显示警报。
print("playlistVideos_ARRAY = \(self.playlistVideos_ARRAY)")
print("startOfNextIndexForVideos = \(self.startOfNextIndexForVideos)")
if let thumbnailImage: UIImage = UIImage(data: NSData(contentsOfURL: NSURL(string: ((((self.playlistVideos_ARRAY[self.startOfNextIndexForVideos] as! Dictionary<NSObject, AnyObject>)["snippet"] as! Dictionary<NSObject, AnyObject>)["thumbnails"] as! Dictionary<NSObject, AnyObject>)["high"] as! Dictionary<NSObject, AnyObject>)["url"] as! String)!)!)!
{
print("111111111")
self.thumbnailOfVideo.append(thumbnailImage)
}
else
{
print("222222222")
let message = UIAlertController(title: "Uh Oh!", message: "There is an issue with this playlist :(", preferredStyle: .Alert)
let defaultAction = UIAlertAction(title: "OK", style: .Default, handler: nil)
message.addAction(defaultAction)
dispatch_async(dispatch_get_main_queue(), {
self.presentViewController(message, animated: true, completion: nil)
})
}
但是,它从来没有输出222222222
。它总是失败的权利,如果检查与以下输出:
playlistVideos_ARRAY = [{
etag = "\"q5k97EMVGxODeKcDgp8gnMu79wM/Jl892aZsvFYpvjE5ENwTItH9cqQ\"";
id = PLP2q8Ric9B9X6r8L2LA7xRwg0HNnKL3RLaooSkbmjTxo;
kind = "youtube#playlistItem";
snippet = {
channelId = UC5ltMmeC4YFaart1SSXdmAg;
channelTitle = "Viet My Television";
description = "This video is private.";
playlistId = "PLxnnlv22Xcq34TNdsMxEIKvIHE_phd7XK";
position = 0;
publishedAt = "2016-03-16T18:51:39.000Z";
resourceId = {
kind = "youtube#video";
videoId = uPnWMZ1pbSc;
};
title = "Private video";
};
}]
startOfNextIndexForVideos = 0
fatal error: unexpectedly found nil while unwrapping an Optional value
我在做什么错误检查这方面?谢谢。
编辑: 这里的输出我playlistVideos_ARRAY
通过包含与相关视频的缩略图还没有被YouTube删除一个有效的播放列表的GET请求获取:
playlistVideos_ARRAY = [{
etag = "\"q5k97EMVGxODeKcDgp8gnMu79wM/U4OVbnjwS2bbU44Q1Hijy6-koAE\"";
id = "PLP2q8Ric9B9VZXfc41HzRjprfOHpOYQd_SbLAuuxZVyw";
kind = "youtube#playlistItem";
snippet = {
channelId = UC5ltMmeC4YFaart1SSXdmAg;
channelTitle = "Viet My Television";
description = "";
playlistId = PLxnnlv22Xcq0HpE242iwHh8IP78esU9sF;
position = 0;
publishedAt = "2016-02-15T23:25:20.000Z";
resourceId = {
kind = "youtube#video";
videoId = mIW5trLZJcM;
};
thumbnails = {
default = {
height = 90;
url = "https://i.ytimg.com/vi/mIW5trLZJcM/default.jpg";
width = 120;
};
high = {
height = 360;
url = "https://i.ytimg.com/vi/mIW5trLZJcM/hqdefault.jpg";
width = 480;
};
medium = {
height = 180;
url = "https://i.ytimg.com/vi/mIW5trLZJcM/mqdefault.jpg";
width = 320;
};
};
title = "talkshow chuong trinh hoi cho tet Binh Than o Miles Square Park";
};
}]
我已经实现了一个解决方案,但我只是想你的,它的工作是相同的,所以我会标记:) – Pangu