我有最新的xcode测试版,只是尝试在应用内加载网页.
import UIKit
class ViewController: UIViewController {
@IBOutlet var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let url = NSURL (string: "https://www.google.com");
let requestObj = NSURLRequest(URL: url!);
webView.loadRequest(requestObj);
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Run Code Online (Sandbox Code Playgroud)
在这一行:let requestObj = NSURLRequest(URL: url!);
我收到以下错误:
"NSURL"不能隐式转换为"URL"; 你的意思是使用"as"来明确转换?
我删除了感叹号,我收到此错误:
无法转换"NSURL"类型的值?到期望的参数类型"URL"
在过去的四个小时里,我一直在尝试使用互联网上的代码.我在想最新的swift只是不允许这样或者什么,因为没有任何作用.我设置为10.0部署目标和Xcode 8.0兼容.但我也尝试过这两个设置的早期版本,并且我在两个版本的所有版本中都得到了相同的错误.
是的,故事板上的我的webView正确连接到ViewController.swift.
我正在将我的一个项目迁移到Swift 3,我很想把NSURLRequest转换为NSURLMutableRequest.在Swift 2中我可以简单地说:
let mreq = req.mutableCopy() as! NSMutableURLRequest
Run Code Online (Sandbox Code Playgroud)
但是现在mutableCopy不再是Swift 3中的一个东西.我尝试了各种构造函数的排列,并在文档中查找信息无济于事.我肯定错过了什么.必须有一种方法来制作对象的可变副本.
我正在尝试在Swift 3开发快照中发出POST请求,但由于某种原因,对NSURLSession.dataTask的调用失败,标题中出现错误.
这是我正在使用的代码:
import Foundation
var err: NSError?
var params: Dictionary<String, String>
var url: String = "http://notreal.com"
var request = NSMutableURLRequest(url: NSURL(string: url)!)
var session = NSURLSession.shared()
request.httpMethod = "POST"
request.httpBody = try NSJSONSerialization.data(withJSONObject: params, options: [])
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
var task = session.dataTask(with: request, completionHandler: {data, response, err -> Void in
print("Entered the completionHandler")
})
task.resume()
Run Code Online (Sandbox Code Playgroud)
错误正是:
testy.swift:19:12: error: ambiguous reference to member 'dataTask(with:completionHandler:)'
var task = session.dataTask(with: request, completionHandler: {data, response, err -> Void in …Run Code Online (Sandbox Code Playgroud) 我有一个swift 2.3项目我刚刚更新到swift 3.0并且以下代码中断了.
let task = URLSession.shared.dataTask(with: request, completionHandler: {
data, response, error in
if error != nil {
print("error=\(error)")
return
}
print("response = \(response)")
let responseString = NSString(data: data!, encoding: String.Encoding.utf8)
print("responseString = \(responseString)")
})
task.resume()
Run Code Online (Sandbox Code Playgroud)
我不知道如何解决它
你好,当我使用Swift 3的WKWebView代码时给我这个错误
'的URLRequest'; 你的意思是使用'as'来明确转换?
我认为这是我需要帮助或想法的错误?我的代码如下谢谢
import UIKit
import WebKit
class SocialsViewController: UIViewController, WKNavigationDelegate {
var webView = WKWebView()
override func viewDidLoad() {
super.viewDidLoad()
let url = NSURL(string: "https://facebook.com")!
webView.loadRequest(NSURLRequest(url: url))
webView.allowsBackForwardNavigationGestures = true
}
}
Run Code Online (Sandbox Code Playgroud) 嗨,我刚刚完成了对Swift 3.0的转换,并且返回了很多错误.第一个是:
对成员'dataTask(with:completionHandler :)'的模糊引用
找到这个候选人
有没有人有办法解决吗?
给出这个的代码是:
let task = session.dataTask(with: request) {
(
data, response, error) in
guard let _:Data = data, let _:URLResponse = response , error == nil else {
print(data)
print("error")
return
}
_ = NSString(data: data!, encoding: String.Encoding.utf8)
//print(dataString)
}
Run Code Online (Sandbox Code Playgroud) 我需要将iPhone / iPad上的mp4视频文件上传到服务器(也在后台),所以我读到可以通过URLSession.uploadTask(with:URLRequest,fromFile:URL)方法来实现,但我不知道该怎么做我之前准备了请求,我需要创建一个multipart / form-data请求,因为我想附加其他字符串参数。
func requestBodyFor(video: URL) -> Data? {
let url = URL(string: "url_of_upload_handler.php")!
let parameters = ["type":"video", "user":"112"]
do {
let kBoundary = "Boundary-\(UUID().uuidString)"
let kStartTag = "--%@\r\n"
let kEndTag = "\r\n"
let kContent = "Content-Disposition: form-data; name=\"%@\"\r\n\r\n"
var body = Data()
let videoData = try Data(contentsOf: video)
// parameters
for (key,value) in parameters {
body.append(String(format: kStartTag, kBoundary).data(using: String.Encoding.utf8)!)
body.append(String(format: kContent, key).data(using: String.Encoding.utf8)!)
body.append(value.data(using: String.Encoding.utf8)!)
body.append(String(format: kEndTag).data(using: String.Encoding.utf8)!)
}
//Video data
body.append(String(format: kStartTag, boundary).data(using: String.Encoding.utf8)!) …Run Code Online (Sandbox Code Playgroud) 我试图更新我用swift 2制作的基本天气应用程序到swift 3这是我的代码:
func getWeather(city: String) {
let path = "http://api.openweathermap.org/data/2.5/weather?q=London,uk&appid=095711373620570aa92ee530246dc8af"
let url = NSURL(string: path)
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithURL(url!) { (data: NSData?, response: NSURLResponse?, error: NSError?) -> Void in
print(">>>> \(data)")
}
Run Code Online (Sandbox Code Playgroud)
和NSURLSession.sharedSession(第5行)和NSURLResponse(第6行)打印出错误