Gre*_*reg 42
您可以- (BOOL)hasPrefix:(NSString *)aString
在NSString上使用该方法来查看包含您的URL的NSString是否以http://前缀开头,如果没有,则添加前缀.
NSString *myURLString = @"www.google.com";
NSURL *myURL;
if ([myURLString.lowercaseString hasPrefix:@"http://"]) {
myURL = [NSURL URLWithString:myURLString];
} else {
myURL = [NSURL URLWithString:[NSString stringWithFormat:@"http://%@",myURLString]];
}
Run Code Online (Sandbox Code Playgroud)
我目前远离我的mac并且无法编译/测试此代码,但我相信上述应该可行.
tc.*_*tc. 16
NSString * urlString = ...;
NSURL * url = [NSURL URLWithString:urlString];
if (![[url scheme] length])
{
url = [NSURL URLWithString:[@"http://" stringByAppendingString:urlString]];
}
Run Code Online (Sandbox Code Playgroud)
最好scheme
在URL
对象上使用该属性:
extension URL {
var isHTTPScheme: Bool {
return scheme?.lowercased().contains("http") == true // or hasPrefix
}
}
Run Code Online (Sandbox Code Playgroud)
用法示例:
let myURL = URL(string: "/sf/answers/3418458361/")!
if myURL.isHTTPScheme {
// handle, e.g. open in-app browser:
present(SFSafariViewController(url: url), animated: true)
} else if UIApplication.shared.canOpenURL(myURL) {
UIApplication.shared.openURL(myURL)
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
24159 次 |
最近记录: |