gpt4 book ai didi

objective-c - 检查包含 "http://"URL 的字符串

转载 作者:可可西里 更新时间:2023-11-01 04:05:49 24 4
gpt4 key购买 nike

我正在尝试检查用户输入的 URL,但我正在与一些错误和警告作斗争。

-(BOOL) textFieldShouldReturn:(UITextField *)textField {
//check "http://"
NSString *check = textField.text;
NSString *searchString = @"http://";
NSRange resultRange = [check rangeWithString:searchString];
BOOL result = resultRange.location != NSNotFound;
if (result) {
NSURL *urlAddress = [NSURL URLWithString: textField.text];
} else {
NSString *good = [NSString stringWithFormat:@"http://%@", [textField text]];
NSURL *urlAddress = [NSURL URLWithString: good];
}
// open url
NSURLRequest *requestObject = [NSURLRequest requestWithURL:urlAddress];
}

他们说:

NSString may not respond to -rangeWithString
Unused variable urlAddress in the condition "if … else" (for both)
urlAddress undeclared : in the URLRequest

有人知道该怎么办吗?

最佳答案

NSString 响应 rangeOfString:,而不是 rangeWithString:

变量 urlAddress 在 if 语句和 else 语句中声明。这意味着它只存在于该范围内。一旦离开 if/else 语句,变量就消失了。

对于 URL,最好以方案开头(如“http://”),并且您的代码将很乐意接受 apple.http://.com 是有效的。

您可以改用hasPrefix: 方法,如下所示:

BOOL result = [[check lowercaseString] hasPrefix:@"http://"];
NSURL *urlAddress = nil;

if (result) {
urlAddress = [NSURL URLWithString: textField.text];
}
else {
NSString *good = [NSString stringWithFormat:@"http://%@", [textField text]];
urlAddress = [NSURL URLWithString: good];
}

NSURLRequest *requestObject = [NSURLRequest requestWithURL:urlAddress];

关于objective-c - 检查包含 "http://"URL 的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6537771/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com