Ios 包含URL内容的字符串?
因此,在我下载最新更新之前,以下代码对我很有用:Ios 包含URL内容的字符串?,ios,swift,Ios,Swift,因此,在我下载最新更新之前,以下代码对我很有用: var g_home_url = String.stringWithContentsOfURL(NSURL(string: url_string), encoding: NSUTF8StringEncoding, error: nil) // Gives me an error: "String.Type does not have a member names stringWithContentsOfUrl" 我很困惑。在swift中采用以下
var g_home_url = String.stringWithContentsOfURL(NSURL(string: url_string), encoding: NSUTF8StringEncoding, error: nil) // Gives me an error: "String.Type does not have a member names stringWithContentsOfUrl"
我很困惑。在swift中采用以下objective-c方法的正确方法是什么
NSString * g_home_url = [[NSString alloc] initWithContentsOfURL:[NSURL URLWithString:home_url] encoding:NSUTF8StringEncoding error:nil];
使用
-initWithContentsOfURL:encoding:error:
实例方法,而不是+stringWithContentsOfURL:encoding:error:
类初始值设定项
var g_home_url = String(contentsOfURL: NSURL(string: url_string)!, encoding: NSUTF8StringEncoding, error: nil)
我不知道现在Swift中是否不支持类便利初始值设定项,但这是有道理的,因为它们只是Swift中不存在的alloc init样板的缩写。下面是它对我的作用: (不再有错误参数) 或者,如果要处理错误:
do {
var g_home_url = try String(contentsOfURL: NSURL(string: url_string)!, encoding: NSUTF8StringEncoding)
}
catch {
print(error)
}
对于Swift 3,您必须使用
字符串(contentsOf:encoding:)
。它抛出
do {
var content = try String(contentsOf:URL(string: "http://your-URI-here")!)
}
catch let error {
// Error handling
}
对于Swift 4,他们更改了字符串编码。那么现在就是,
do {
var g_home_url = try String(contentsOfURL: URL.init(string: url_string)!, encoding: String.Encoding.utf8)
}
catch {
print(error)
}
目前(Swift 4.1.2),从Ubuntu linux发送HTTP get请求的唯一方法是:
initWithContentsOfURL
和stringWithContentsOfURL
映射到同一个Swift方法,在这种情况下,似乎只能从Swift调用init方法。描述类似的问题。contentsOfURL
将获取该url的响应。我不知道原因是什么。我现在使用引号语法来转换它do{let ipAddress=try String(contentsOf:url,encoding:String.encoding.utf8)}catch{print(error)}
此解决方案不适用于使用Swift 4.1.1的Linux。字符串(contentsOf:url)返回nothing@SergeyDi我遇到了同样的问题。。。我也检查过了,但还没有更新。你有什么解决办法吗?@5t111111只能使用swift 3.x。但是在3.x版本的字符串(contents)上也有一个问题。每次调用它时,都会创建/tmp/someName.tmp文件。
do {
var g_home_url = try String(contentsOfURL: URL.init(string: url_string)!, encoding: String.Encoding.utf8)
}
catch {
print(error)
}
import Foundation
import SwiftyCurl
var request = cURLRequest(url: URL(string: "https://path.to/url/")!, method: .get)
let connection = cURLConnection(useSSL: true)
do {
let res = try connection.request(request)
if let body: String = res.body() {
print(body)
}
} catch {
prin(error)
}