我有一个像 snapchat 这样的应用程序。在一个表 VC 上,我获取所有媒体 1(第一个媒体),然后当您点击其中一个媒体时,我会将您带到表 VC 2,在此我格式化表 VC 1 中快照随附的数据(我保存了一个快照到一个帖子对象)。
然后,当用户点击表 2 中唯一的单元格时,他将被带到表 VC 3,所有媒体都像 snapchat 一样填满屏幕。
我的问题:我怎样才能让我准备好第一个媒体,以便在你去桌子 3 时立即可用?
目前我执行以下操作:
//numberMedia is always "media1" here
if self.selectedPost?.media[0].imageURLString != nil {
print("thsi is an image")
let media = InterimMediaObject(imageURLString: (self.selectedPost?.media[0].imageURLString)!, timeStamp: (self.selectedPost?.media[0].timeStamp)!, numMedia: numberMedia)
media.postID = self.selectedPost?.media[0].postID
self.selectedPost?.interimMedia.append(media)
self.selectedPost?.interimMedia[0].image = self.getImage(urlString: (self.selectedPost?.interimMedia[0].imageURLString!)!)
print((self.selectedPost?.interimMedia[0].imageURLString!), "<-- here is img val??????")
} else {
print("this is a video")
print((self.selectedPost?.media[0].videoURLString)!, "<--- this has val?")
self.selectedPost?.interimMedia.append(InterimMediaObject(videoURLString: (self.selectedPost?.media[0].videoURLString)!, timeStamp: (self.selectedPost?.media[0].timeStamp)!, numMedia: numberMedia, thumbnailString: (self.selectedPost?.media[0].thumbnail)!))
self.selectedPost?.interimMedia[0].thumbnailImage = self.getImage(urlString: (self.selectedPost?.interimMedia[0].thumbnailString!)!)
self.selectedPost?.interimMedia[0].videoURL = self.getVideoURL(stringUrl: self.selectedPost?.interimMedia[0].videoURLString!)
self.selectedPost?.interimMedia[0].postID = self.selectedPost?.media[0].postID
print(self.getVideoURL(stringUrl: self.selectedPost?.interimMedia[0].videoURLString!), "<-- nil or nil? TEWICE")
}
需要的 getImage() 或 getVideo() 都会运行,我发现它很慢。那就是:在我可以点击表 3 之前大约需要 1-3 秒,否则视图将需要一些时间来加载。
我想让它像 snapchat 一样快。我怎么能做到这一点?