swift - Swift 中的 Master Detail 应用程序 - 如何将字符串转换为 URL

标签 swift url

我是新来的,所以请多多包涵。我有一个 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/

相关文章:

url - 默认文档不显示完整的 url

php - URL 中的反斜杠有什么用?

ios - 在 Swift 中逐行淡入 UITableViewCell

ios - 计算tableView中每个单元格的值

swift - 如何正确编码 url 字符串以避免问号(?)在 swift 中成为 %3F?

url - vaadin 7 URL 参数

c# - 如何以编程方式在 C# 中找到真实的 URL 而不是转发链接?

ios - __pthread_kill 在第二次请求时

swift - 在 Swift 4.2 中 - 如何在移动后保持 Sprite 大小(toParent : newParent)

c# - 是否有可靠的方法来验证 URL 的存在?