gpt4 book ai didi

ios - 是否有一种简单的方法来检查是否存在传递给 NSString 上的 substringWithRange 的 NSRange(这样不会导致错误)?

转载 作者:可可西里 更新时间:2023-11-01 03:36:56 26 4
gpt4 key购买 nike

假设我在 NSString“foo”上传递了 (location: 5, length: 50) 的 NSRange,这个范围显然不存在。

有没有办法说[string rangeExists:NSRange],或者我们必须手动验证输入?

最佳答案

您必须自己写支票,但这很简单:

NSString *str = ... // some string
NSRange range = ... // some range to be used on str

if (range.location != NSNotFound && range.location + range.length <= str.length) {
// It's safe to use range on str
}

您可以在 NSString 上创建一个类别方法,添加您建议的 rangeExists: 方法。它只是:

- (BOOL)rangeExists:(NSRange)range {
return range.location != NSNotFound && range.location + range.length <= self.length;
}

关于ios - 是否有一种简单的方法来检查是否存在传递给 NSString 上的 substringWithRange 的 NSRange(这样不会导致错误)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34190233/

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