当前位置:  开发笔记 > IOS > 正文

是否有一个简单的方法来检查NSRange传递给NSString上的substringWithRange是否存在(所以不会导致错误)?

如何解决《是否有一个简单的方法来检查NSRange传递给NSString上的substringWithRange是否存在(所以不会导致错误)?》经验,为你挑选了1个好方法。

假设我在NSString"foo"上传递NSRange(位置:5,长度:50),该范围显然不存在.

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



1> rmaddy..:

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

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;
}

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有