【问题标题】:Cast NSSecureCoding to URL in Swift将 NSSecureCoding 转换为 Swift 中的 URL
【发布时间】:2020-04-28 23:55:03
【问题描述】:

我有一个ShareExtension,其中我得到了URL,我想使用它,但为此我需要cast它作为String

@objc func actionButtonTapped(){
        print("yeet")
        var html: String?

        if let item = extensionContext?.inputItems.first as? NSExtensionItem,
            let itemProvider = item.attachments?.first,
            itemProvider.hasItemConformingToTypeIdentifier("public.url") {
            itemProvider.loadItem(forTypeIdentifier: "public.url", options: nil) { (url, error) in
                if (url as? URL) != nil {

                    let urlString = String(contentsOf: url)

                    OpenGraphDataDownloader.shared.fetchOGData(urlString: urlString) { result in
                        switch result {
                        case let .success(data, _):
                            // do something
                            print(data.pageTitle!)
                        case let .failure(error, _):
                            // do something
                            print(error.localizedDescription)
                        }

                    }
                }
            }
        }
}

上面的代码抛出这个error

无法转换“NSSecureCoding”类型的值?到预期的参数类型“URL”

问题:

如何将NSSecureCoding 转换为URL,然后我可以将其转换为String ?在任何地方都找不到任何东西...很高兴为您提供帮助!

【问题讨论】:

    标签: ios swift url casting nssecurecoding


    【解决方案1】:

    我首先将其转换为NSURL,然后得到它的absoluteString,如下所示:

    let directoryURL = url as! NSURL
    
    let urlString: String = directoryURL.absoluteString!
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多