所以我试图从网站上获取开放图表数据。幸运的是我找到了URLEmbeddedView,但我遇到了问题。 我把它添加到我的pod并安装它,但据我所知它不会取任何东西。
在git示例中有效:
-v
}
在我的例子中,为了理解它并使其正常工作,我将其剪切了很多:
extension OGSampleViewController: UISearchBarDelegate {
func searchBarSearchButtonClicked(searchBar: UISearchBar) {
guard let urlString = searchBar.text else { return }
print(urlString)
embeddedView.loadURL(urlString) {
if let _ = $0 {
return
}
OGDataProvider.sharedInstance.fetchOGData(urlString: urlString) { [weak self] ogData, error in
if let _ = error {
return
}
let text = "- sourceUrl = \(ogData.sourceUrl)\n"
+ "- url = \(ogData.url)\n"
+ "- siteName = \(ogData.siteName)\n"
+ "- pageTitle = \(ogData.pageTitle)\n"
+ "- pageType = \(ogData.pageType)\n"
+ "- pageDescription = \(ogData.pageDescription)\n"
+ "- imageUrl = \(ogData.imageUrl)\n"
+ "- createDate = \(ogData.createDate)\n"
+ "- updateDate = \(ogData.updateDate)\n"
dispatch_async(dispatch_get_main_queue()) {
self?.textView.text = text
}
}
}
}
textView的结果是:
我对Swift相当新,所以我的问题是,这是否是使用提供商的正确方法?编译时我没有收到任何错误,但显然使用它时出现了问题。
答案 0 :(得分:1)
在URLEmbeddedView中存在类OGData
,您的代码看起来像是要使用它。只需将您的变量重命名为示例 - ogData
即可。试试这个:
import URLEmbeddedView
class LinksViewController: UIViewController, UITableViewDelegate {
let urlString = "https://google.com/"
OGDataProvider.sharedInstance.fetchOGData(urlString: urlString) { [weak self] ogData, error in
if let _ = error {
return
}
let text = "- pageTitle = \(ogData.pageTitle)\n"
dispatch_async(dispatch_get_main_queue()) {
self?.textView.text = text
}
}
}
答案 1 :(得分:1)