I'm building a custom browser using UIWebView.
Use case: User enters "www.abc.com" into the address bar. Error below thrown:
Error Domain=WebKitErrorDomain Code=102 "Frame load interrupted" UserInfo=0x19860770 {NSErrorFailingURLKey=file://www.abc.com, NSErrorFailingURLStringKey=file://www.abc.com, NSLocalizedDescription=Frame load interrupted}
Reason: the URL needs to be prepended with "http://"
I would like to use the stringWithFormat
method of NSString, but I can't seem to get the syntax correct. In Objective-C, we have;
NSString* modifiedURLString = [NSString stringWithFormat:@"http://%@", urlString];
In Swift, the method is not there?!
var modifiedURLString: String = String(`stringWithFormat not here?!...`)
I then tried mixing Objective C with Swift:
var modifiedURLString: NSString = [NSString stringWithFormat not here?!...
Then I tried straight-up Objective-C:
NSString* modifiedURLString = [NSString stringWithFormat:@"http://", urlString];
Thank you for your help. Sincerely, Keith
The equivalent of NSString's formatWithString: is just "format:", as shown below, but there is no real need to do that for the example you have given. Just append strings, or use interpolation...
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)"
Just for the sake of being complete here (though of a 4th way), here are your options:
1: Swift way of using NSString's stringWithFormat:
let url = NSString(format: "http://%@", aSuffix)
2: Take advantage of Swift's ability concatenate strings with the "+" operator.
let url = "http://" + aSuffix
3: Use NSString's stringByAppendingString()
method.
let url = "http://"
url.stringByAppendingString(aSuffix)
4: String interpolation.
let url = "http://\(aSuffix)"
You can use string interpolation:
let site = "www.abc.com"
let url = "http://\(site)"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With