【发布时间】: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