在我的tableviewcell
我有一个UIImageView
。此ImageView
用于向用户显示录制视频的缩略图。以下是我设置ImageView
的方法。
@IBOutlet weak var thumbImageView: UIImageView! {
didSet {
let videoUrl = NSURL(string: Link to Video )
var thumbImage: UIImage?
let asset = AVAsset(URL: videoUrl!)
let assetImgGenerate = AVAssetImageGenerator(asset: asset)
assetImgGenerate.appliesPreferredTrackTransform = true
let time = CMTimeMake(asset.duration.value / 3, asset.duration.timescale)
if let cgImage = try? assetImgGenerate.copyCGImageAtTime(time, actualTime: nil) {
thumbImage = UIImage(CGImage: cgImage)
print("Got Thumb")
self.thumbImageView.image = UIImage(CGImage: cgImage)
}
}
}
在我TableViewCell
我也有:
var URL: String? {
didSet {
print(URL!)
}
}
在我的TableView
我正在调用Parse数据库,我在其中存储了用户在My S3服务器上保存的视频链接。在CellForRowAtIndexPath
方法中,我使用PFObject为我的URL变量提供URL:
cell.URL = Some URL
我想要的工作是:
let videoURL = NSURL(string: self.URL!)
但是当我运行传递给thumbImageView的URL的代码时,我得到了nil。还有其他方法我应该设置它吗?
感谢任何帮助!
答案 0 :(得分:0)
您希望将Ext.ComponentQuery.query('button[text=<span class="g-underlined">S</span>earch]');
代码从didSet
移至thumbImageView
属性,以便在网址发生变化时加载图片。
目前,您的代码不会在正确的时间运行,因为URL
只会在从storyboard / xib加载单元格时设置。
答案 1 :(得分:0)
在设置thumbImageView插座时,它并不意味着您已完全初始化,因此您无法引用自我。这就是你得到零的原因。请阅读swift。