如何在Swift中使用stringWithFormat在http://中添加url

时间:2014-06-16 15:32:43

标签: string swift stringwithformat

我正在使用UIWebView构建自定义浏览器。

使用案例:用户在地址栏中输入“www.abc.com”。抛出以下错误:

Error Domain=WebKitErrorDomain Code=102 "Frame load interrupted" UserInfo=0x19860770 {NSErrorFailingURLKey=file://www.abc.com, NSErrorFailingURLStringKey=file://www.abc.com, NSLocalizedDescription=Frame load interrupted}

原因:网址需要添加“http://”

我想使用NSString的stringWithFormat方法,但我似乎无法使语法正确。在Objective-C中,我们有;

NSString* modifiedURLString = [NSString stringWithFormat:@"http://%@", urlString];

在Swift中,方法不存在?!

var modifiedURLString: String = String(`stringWithFormat not here?!...`)

然后我尝试将Objective C与Swift混合使用:

var modifiedURLString:NSString = [NSString stringWithFormat not here?!...

然后我尝试了直接的Objective-C:

NSString * modifiedURLString = [NSString stringWithFormat:@“http://”,urlString];

感谢您的帮助。真诚的,基思

3 个答案:

答案 0 :(得分:64)

相当于NSString的formatWithString:只是"格式:",如下所示,但是对于你给出的例子,没有必要这样做。只需附加字符串,或使用插值...

let urlString = "www.abc.com"
var modifiedURLString = NSString(format:"http://%@", urlString) as String
// or just
modifiedURLString = String(format:"http://%@", urlString)
// or
let simpler = "http://" + urlString
// or use string interplotaion
let simplest = "http://\(urlString)"

答案 1 :(得分:16)

为了在这里完成(虽然是第4种方式),这里有你的选择:

1:使用NSString的stringWithFormat:

的快捷方式
let url = NSString(format: "http://%@", aSuffix)

2:利用Swift的能力将字符串与" +"连接起来。操作

let url = "http://" + aSuffix

3:使用NSString的stringByAppendingString()方法。

let url = "http://"
url.stringByAppendingString(aSuffix)

4:字符串插值。

let url = "http://\(aSuffix)"

答案 2 :(得分:8)

您可以使用字符串插值:

let site = "www.abc.com"
let url = "http://\(site)"