我是新来的,所以请耐心等待。我有一个Master-Detail应用程序,在DetailViewController.swift文件中,这是configureView func,它调用Web视图来打开一个网页。
它抱怨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)
}
}
}
答案 0 :(得分:1)
您可以传递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
是array of strings
。然后你需要这样做才能得到你想要的值:
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
,将来如果你想要另一个索引,那么你需要得到它。
答案 1 :(得分:0)
这就是我做的工作:
let stringRepresentation = MasterViewController.MyVariables.urlString?.joined(separator:“”)
print ("urlString", MasterViewController.MyVariables.urlString)
print ("sR",stringRepresentation)
let url = NSURL(string: stringRepresentation as! String)
let request = URLRequest(url: url! as URL)
myWebview.scalesPageToFit = true
myWebview.loadRequest(request)