【发布时间】:2018-09-10 12:55:38
【问题描述】:
我正在使用 WKWebView 来查看 youtube 视频。如果我在应用程序中输入我的 youtube 视频嵌入链接,它可以正常工作。但是当我从 firebase 获取 youtube 嵌入视频代码时,youtube 显示错误。我已经在控制台中检查了我正在接收视频代码,并且它已成功分配给我的 url 链接变量。我不知道我的 Firebase 和 youtube 有什么问题
请帮帮我。
class VideoViewController: UIViewController, WKNavigationDelegate {
let appDelegate = UIApplication.shared.delegate as! AppDelegate
var ref: DatabaseReference!
var videolink = ""
@IBOutlet weak var webView: WKWebView!{
didSet{
webView.navigationDelegate = self
}
}
override func viewDidLoad() {
super.viewDidLoad()
fetchOffers()
getVideo(videoCode: videolink)
}
func fetchOffers(){
let databaseRef = Database.database().reference().child("Helsinki")
databaseRef.queryOrdered(byChild: "bar_name").queryEqual(toValue: self.appDelegate.selectedBarName).observe(.value, with: { snapshot in
if ( snapshot.value is NSNull ) {
print("not found)")
} else {
print(snapshot.value!)
for child in snapshot.children {
let snap = child as! DataSnapshot
let imageSnap = snap.childSnapshot(forPath: "video")
print(imageSnap)
let dataDict = imageSnap.value as! [String : AnyObject]
let videoLink = dataDict["videolink"] as! String
self.videolink.append(videoLink)
print("This is shit", self.videolink)
}
}
})
}
func getVideo(videoCode:String){
let url = URL(string: "https:/www.youtube.com/embed/\(videoCode)")
webView.load(URLRequest(url : url!))
}
【问题讨论】:
-
如果你硬编码你会从 Firebase 读取的值,你能重现这个问题吗?如果是这样,您可以排除 Firebase 作为潜在原因,并显着减少我们需要了解的代码。如果您无法使用硬编码值进行复制,则意味着问题出在您从 Firebase 读取的内容中。在
print(imageSnap)上设置断点并检查您看到的值与您硬编码的值有何不同。