我是新来的,所以请多多包涵。我有一个 Master-Detail 应用程序,在 DetailViewController.swift 文件中,这里是 configureView 函数,它调用 Web View 来打开网页。
它在 let request = URLRequest(url:url) 行报错,因为 url 变量被定义为字符串。我已经尝试了所有方法,但都行不通。
顺便说一下,MasterViewController.MyVariables.urlString
是一个字符串数组。
func configureView() {
// Update the user interface for the detail item.
if let detail: AnyObject = detailItem {
if let myWebview = webView {
let url = MasterViewController.MyVariables.urlString
let request = URLRequest(url: url)
myWebview.scalesPageToFit = true
myWebview.loadRequest(request)
}
}
}
最佳答案
您可以传递一个URL
对象,也可以根据您传递的字符串创建一个URL
对象。无论如何,您需要将字符串转换为 URL
。
if let url = URL(string: MasterViewController.MyVariables.urlString) {
// use url in here
}
更新:
用这个作为你的例子:
if let url = URL(string: MasterViewController.MyVariables.urlString) {
// use url in here
let request = URLRequest(url: url)
}
更新 2:
您有一个Struct
,它是一个字符串数组
。然后你需要这样做以获得你想要的值:
struct MyVariables {
static var urlString: [String]? = ["something"]
}
if let str = MyVariables.urlString?.first, let url = URL(string: str) {
// use url in here
let request = URLRequest(url: url)
print(url)
}
现在我使用的是 MyVariables.urlString?.first
,将来如果您想要另一个索引,则需要获取它。
关于swift - Swift 中的 Master Detail 应用程序 - 如何将字符串转换为 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46497102/