string与Url 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" 

我很困惑。 快速实现下面的objective-c方法的正确方法是什么?

 NSString * g_home_url = [[NSString alloc] initWithContentsOfURL:[NSURL URLWithString:home_url] encoding:NSUTF8StringEncoding error:nil]; 

使用-initWithContentsOfURL:encoding:error: instance方法而不是+stringWithContentsOfURL:encoding:error: class便捷初始值设定项。

 var g_home_url = String(contentsOfURL: NSURL(string: url_string)!, encoding: NSUTF8StringEncoding, error: nil) 

我不知道在Swift中,类的便利性初始值设定项现在是不受支持的,但是这样做是有道理的,因为它们只是alloc-init样板文件的简写,而这在swift中是不存在的。

对于Swift 3,你必须使用String(contentsOf:encoding:) 。 它抛出。

 do { var content = try String(contentsOf:URL(string: "http://your-URI-here")!) } catch let error { // Error handling } 

在这里它为我工作:(没有更多的错误参数)

 var g_home_url = try! String(contentsOfURL: NSURL(string: url_string)!, encoding: NSUTF8StringEncoding) 

或者如果你想处理这个错误:

 do { var g_home_url = try String(contentsOfURL: NSURL(string: url_string)!, encoding: NSUTF8StringEncoding) } catch { print(error) }