gpt4 book ai didi

ios - NSRange: range.location != NSNotFound 与 range.length > 0

转载 作者:技术小花猫 更新时间:2023-10-29 10:16:08 30 4
gpt4 key购买 nike

我正在检查我的一个应用程序中的一些旧代码,并修复可能存在问题的区域中的代码。

我看到很多旧代码使用...

NSRange range = //determine range here....
if(range.length > 0)
{
//do stuff
}

这个代码“好”吗,还是我应该改成这个?

NSRange range = //determine range here....
if(range.location != NSNotFound)
{
//do stuff
}

这两种方法在本质上是否相同?

最佳答案

这两项检查并不总是相同的。这取决于范围是如何生成的。示例:

NSRegularExpression *re = [NSRegularExpression
regularExpressionWithPattern:@"(?= )" options:0 error:NULL];
NSTextCheckingResult *result = [re firstMatchInString:@"hello world"
options:0 range:NSMakeRange(0, 11)];
NSLog(@"range = %@", NSStringFromRange(result.range));

范围的长度是 0,但它的位置是 5,不是 NSNotFound

关于ios - NSRange: range.location != NSNotFound 与 range.length > 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12827830/

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