m.b.我在问一个愚蠢的问题,但我在Swift和iPhone编程方面真的是新手。使用XCode 8.0
。我想创建WebView
应用程序,并从这里获得下一个代码:https://sourcefreeze.com/uiwebview-example-using-swift-in-ios/
我的代码:
import UIKit
import Foundation
class ViewController: UIViewController {
@IBOutlet weak var myWebView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let url = NSURL (string: "http://www.sourcefreeze.com");
let requestObj = NSURLRequest(URL: url!);
myWebView.loadRequest(requestObj);
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
当然,我已经创建了UIWebView
的UI对象,并将其连接到控制器:
@IBOutlet weak var myWebView: UIWebView!
在构建期间,我收到下一个红色警报:
- “NSURL”不能隐式转换为“URL”;是否要使用“as”来显式转换?*
据我所知,这段代码在2年前工作得很好。我想我错过了一些东西,但是什么呢?谢谢你的预付款。
4条答案
按热度按时间cigdeys31#
尝试使用
URL
而不是NSURL
,因为在Swift 3中它已被替换为URL
类型这是苹果开发者论坛的说明。
Swift对Foundation框架的覆盖提供了URL结构,它桥接到了NSURL类。URL值类型提供了与NSURL引用类型相同的功能,并且两者可以在Swift代码中与Objective-C API交互使用。这种行为类似于Swift将标准字符串、数字和集合类型桥接到其相应的Foundation类的方式。
有关值类型的更多信息,请参见Swift编程语言(Swift 3)中的类和结构以及在Cocoa和Objective-C中使用Swift(Swift 3)中的使用可可框架。
e0bqpujr2#
这是解决问题最简单的方法:
Xcode经常告诉你什么是错误的。所以从Xcode的消息,它是可能的理解,NSURL应该转换为URL。尝试阅读相关的资源和机器人使用旧的教程。斯威夫特是动态变化的语言总是尝试使用最新的资源。
voase2hg3#
这样试试看
a8jjtwal4#
以下代码有效:
现在WebView是不可见的,但我会尝试首先在论坛中搜索解决方案。