Gar*_*tet 1 syntax cocoa objective-c nsstring
刚刚在NSString中搜索一个字符或单词进行了一些研究,我遇到了这个代码片段(就像一个魅力):
return [sourceString rangeOfString:searchString].location != NSNotFound;
Run Code Online (Sandbox Code Playgroud)
我是否认为上述代码在功能上与以下代码完全相同:
NSRange range = [sourceString rangeOfString:searchString];
if (range.location == NSNotFound)
return NSNotFound;
else
return range.location;
Run Code Online (Sandbox Code Playgroud)
显然第一个片段更清晰,但我不清楚!= NSNotFound
.有人可以向我解释一下吗?
该!=
运算符计算为一个布尔值,所以它等同于:
NSRange range = [sourceString rangeOfString:searchString];
if (range.location == NSNotFound)
return NO;
else
return YES;
Run Code Online (Sandbox Code Playgroud)
这与以下相同:
NSRange range = [sourceString rangeOfString:searchString];
BOOL didNotFind = (range.location == NSNotFound);
return !didNotFind;
Run Code Online (Sandbox Code Playgroud)