Je crée un navigateur personnalisé en utilisant UIWebView.
Cas d'utilisation: l'utilisateur entre "www.abc.com" dans la barre d'adresse. Erreur ci-dessous levée:
Domaine d'erreur = WebKitErrorDomain Code = 102 "Chargement de trame interrompu" UserInfo = 0x19860770 {NSErrorFailingURLKey = fichier: //www.abc.com, NSErrorFailingURLStringKey = fichier: //www.abc.com, NSLocalizedDescription = Chargement de trame interrompu}
Raison: l'URL doit être précédée de "http: //"
Je voudrais utiliser la méthode stringWithFormat
de NSString, mais je n'arrive pas à obtenir la syntaxe correcte. Dans Objective-C, nous avons;
NSString* modifiedURLString = [NSString stringWithFormat:@"http://%@", urlString];
Dans Swift, la méthode n'est pas là?!
var modifiedURLString: String = String(`stringWithFormat not here?!...`)
J'ai ensuite essayé de mélanger Objective C avec Swift:
var modifiedURLString: NSString = [NSString stringWithFormat not here?!...
Ensuite, j'ai essayé Objective-C directement:
NSString * modifiedURLString = [NSString stringWithFormat: @ "http: //", urlString];
Merci de votre aide. Cordialement, Keith
L'équivalent du formatWithString de NSString est simplement "format:", comme indiqué ci-dessous, mais il n'y a pas vraiment besoin de le faire pour l'exemple que vous avez donné. Ajoutez simplement des chaînes ou utilisez l'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)"
Juste pour être complet ici (bien que d'une 4ème façon), voici vos options:
1: Swift façon d'utiliser stringWithFormat de NSString:
let url = NSString(format: "http://%@", aSuffix)
2: Profitez de la capacité de Swift à concaténer des chaînes avec l'opérateur "+".
let url = "http://" + aSuffix
3: Utilisez la méthode stringByAppendingString()
de NSString.
let url = "http://"
url.stringByAppendingString(aSuffix)
4: interpolation de chaînes.
let url = "http://\(aSuffix)"
Vous pouvez utiliser l'interpolation de chaînes:
let site = "www.abc.com"
let url = "http://\(site)"