我有以下代码:
UIWebView.loadRequest(NSURLRequest(URL: NSURL(string: "google.ca")))
我收到以下错误:
'NSURLRequest'无法转换为UIWebView。
知道问题是什么吗?
答案 0 :(得分:58)
loadRequest:是一个实例方法,而不是类方法。您应该尝试使用UIWebview实例作为接收者来调用此方法,而不是类本身。
webviewInstance.loadRequest(NSURLRequest(URL: NSURL(string: "google.ca")!))
但是,正如@radex在下面正确指出的那样,你也可以利用currying来调用这个函数:
UIWebView.loadRequest(webviewInstance)(NSURLRequest(URL: NSURL(string: "google.ca")!))
答案 1 :(得分:31)
Swift中的UIWebView
@IBOutlet weak var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
let url = URL (string: "url here")
let requestObj = URLRequest(url: url!)
webView.loadRequest(requestObj)
// Do any additional setup after loading the view.
}
答案 2 :(得分:28)
试试这个:
将UIWebView添加到View。
使用助理编辑器连接UIWebview插座并命名您的" webview"。
UIWebView加载网址。
@IBOutlet weak var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
// Your webView code goes here
let url = URL(string: "https://www.google.co.in")
let requestObj = URLRequest(url: url! as URL)
webView.load(requestObj)
}
然后运行应用!!
答案 3 :(得分:10)
Swift 3在URL和URLRequest上不再使用NS前缀,因此更新的代码将是:
let url = URL(string: "your_url_here")
yourWebView.loadRequest(URLRequest(url: url!))
答案 4 :(得分:7)
在Swift 3中你可以这样做:
@IBOutlet weak var webview: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
// Web view load
let url = URL (string: "http://www.example.com/")
let request = URLRequest(url: url!)
webview.loadRequest(request)
}
请务必在Info.plist
添加权限,添加以下值:
答案 5 :(得分:5)
Swift 3
@IBOutlet weak var webview: UIWebView!
webview.loadRequest(URLRequest(url: URL(string: "https://www.yourvideo.com")!))
答案 6 :(得分:5)
Swift 3 - Xcode 8.1
@IBOutlet weak var myWebView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
let url = URL (string: "https://ir.linkedin.com/in/razipour1993")
let requestObj = URLRequest(url: url!)
myWebView.loadRequest(requestObj)
}
答案 7 :(得分:4)
UIWebView loadRequest:使用NSURL对象创建NSURLRequest,然后将请求传递给uiwebview
,它会将请求的URL加载到Web视图中。
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let url = NSURL (string: "http://www.google.com");
let requestObj = NSURLRequest(URL: url!);
myWebView.loadRequest(requestObj);
self.view.addSubview(myWebView)
}
有关详情:
http://sourcefreeze.com/uiwebview-example-using-swift-in-ios/
答案 8 :(得分:3)
将URL加载到WebView非常简单。只需在故事板中创建一个WebView,然后就可以使用以下代码加载URL。
let url = NSURL (string: "https://www.simplifiedios.net");
let request = NSURLRequest(URL: url!);
webView.loadRequest(request);
简单到只有3行代码:)
答案 9 :(得分:3)
使用Swift语言的Webview
let url = URL(string: "http://example.com")
webview.loadRequest(URLRequest(url: url!))
答案 10 :(得分:2)
对于Swift 3.1及以上版本
let url = NSURL (string: "Your Url")
let requestObj = NSURLRequest(url: url as! URL);
YourWebViewName.loadRequest(requestObj as URLRequest)
答案 11 :(得分:2)
简单,经过测试并100%正常工作
导入webkit:
import WebKit
将IBOutlet分配给webview:
var webView : WKWebView!
设置委托:
class ViewController: UIViewController , WKNavigationDelegate{
在viewDidLoad()上编写代码:
// loading URL :
let myBlog = "https://stackoverflow.com/users/4600136/mr-javed-multani?tab=profile"
let url = NSURL(string: myBlog)
let request = NSURLRequest(URL: url!)
// init and load request in webview.
webView = WKWebView(frame: self.view.frame)
webView.navigationDelegate = self
webView.loadRequest(request)
self.view.addSubview(webView)
self.view.sendSubviewToBack(webView)
编写委托方法:
//MARK:- WKNavigationDelegate
func webView(webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: NSError) {
print(error.localizedDescription)
}
func webView(webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
print("Strat to load")
}
func webView(webView: WKWebView, didFinishNavigation navigation: WKNavigation!) {
print("finish to load")
}
答案 12 :(得分:2)
快速4.2
@IBOutlet weak var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
//Func Gose Here
let url = URL(string: link)
let requestObj = URLRequest(url: url! as URL)
webView.loadRequest(requestObj)
}
答案 13 :(得分:1)
Swift 4更新以编程方式创建WebView。
import UIKit
import WebKit
class ViewController: UIViewController, WKUIDelegate {
var webView: WKWebView!
override func loadView() {
let webConfiguration = WKWebViewConfiguration()
webView = WKWebView(frame: .zero, configuration: webConfiguration)
webView.uiDelegate = self
view = webView
}
override func viewDidLoad() {
super.viewDidLoad()
let myURL = URL(string: "https://www.apple.com")
let myRequest = URLRequest(url: myURL!)
webView.loadRequest(myRequest)
}}
答案 14 :(得分:1)
在Swift 4或4.2中,您可以像这样使用
:您的视图就像下面这样:
const products = [{
"id": "5c94aa7b7a37631ce2a97a72",
"material": "5c9485d37804946bc487ce59",
},
{
"id": "5c94aa7b7a37631ce2a97a72",
"material": "5c94862a7804946bc487ce5e",
},
{
"id": "5c94aa7b7a37631ce2a97a72",
"material": "5c9486397804946bc487ce61",
},
{
"id": "5c94a0a87a37631ce2a979de",
"material": "5c9485d37804946bc487ce59",
},
{
"id": "5c94a0a87a37631ce2a979de",
"material": "5c94862a7804946bc487ce5e",
},
{
"id": "5c94a0a87a37631ce2a979de",
"material": "5c9486397804946bc487ce61",
}
];
console.log(products.length);
const id = "5c94aa7b7a37631ce2a97a72";
const material = "5c9485d37804946bc487ce59";
const filtered = products.filter(x => x.id !== id || x.material !== material);
console.log(filtered.length);
console.log(filtered);
允许任意加载真实的info.plist
import UIKit
import WebKit
class ViewController: UIViewController {
@IBOutlet weak var wkwebview: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
let request = URLRequest(url: URL(string: "**your URL**")!)
wkwebview?.load(request)
}
}
注释信息。plist看起来像下面的
答案 15 :(得分:0)
import UIKit
class ViewController: UIViewController{
@IBOutlet weak var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
//Func Gose Here
loadUrl()
}
func loadUrl(){
let url = URL(string: "Url which you want to load(www.google.com)")
let requestObj = URLRequest(url: url! as URL)
webView.load(requestObj)
}
}
答案 16 :(得分:0)
您可以加载这样的页面:
let url: URL = URL(string:"https://google.com")!
webView.loadRequest(URLRequest.init(url: url))
或单行方法:
webView.loadRequest(URLRequest.init(url: URL(string: "https://google.com")!))
webView是您的出口变量。
答案 17 :(得分:0)
在 swift 5
import UIKit
import WebKit
class ViewController: UIViewController, WKUIDelegate {
var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
let myURL = URL(string:"https://www.apple.com")
let myRequest = URLRequest(url: myURL!)
webView.load(myRequest)
}
override func loadView() {
let webConfiguration = WKWebViewConfiguration()
webView = WKWebView(frame: .zero, configuration: webConfiguration)
webView.uiDelegate = self
view = webView
}
}
答案 18 :(得分:-1)
试试这个
let url = NSURL (string: "http://www.apple.com");
myWebView.loadRequest(NSURLRequest(URL: url!));