NSRange的问题

Rud*_*ger 9 iphone nshttpcookie nsrange

我遇到了NSRange的问题.这是我的代码:

NSRange range = [[[NSHTTPCookie requestHeaderFieldsWithCookies:[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:[NSURL URLWithString:cookie]]] objectForKey:@"Cookie"] rangeOfString:@"x"];
NSLog(@"%f", range.length);
if (range.length >= 1) {
    NSLog(@"Do Something");
} else {
    NSLog(@"AUTHING");
}
Run Code Online (Sandbox Code Playgroud)

控制台输出:

0.000000
Do something
Run Code Online (Sandbox Code Playgroud)

然后我第二次浏览代码:

0.000000
AUTHING
Run Code Online (Sandbox Code Playgroud)

这到底是怎么回事?NSNotFound我认为它不起作用,我不是唯一一个发现这个问题的人因此使用它不是一个解决方案.

谢谢你的帮助.

干杯

编辑:我尝试使用NSLog(@"%d",range.length),但它第一次运行时输出错误,第二次运行是正确的.我已经尝试过使用NSNotFound认为奇怪的输出是由于它是NSNotFound但它没有触发

Nic*_*rge 34

如果你想看看是否找到了使用的字符串-[NSString rangeOfString:],你需要看看NSRange.location == NSNotFound:

if (range.location != NSNotFound) {
    // String was found
else {
    // String not found
}
Run Code Online (Sandbox Code Playgroud)