Dou*_*ith 6 cocoa-touch nested objective-c ios nsrange
假设我在NSString"foo"上传递NSRange(位置:5,长度:50),该范围显然不存在.
有没有办法说[string rangeExists:NSRange],或者我们是否必须手动验证输入?
rma*_*ddy 18
你必须自己编写支票,但这很简单:
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
}
Run Code Online (Sandbox Code Playgroud)
您可以创建一个类别方法NSString,添加您提出的rangeExists:方法.它只会是:
- (BOOL)rangeExists:(NSRange)range {
return range.location != NSNotFound && range.location + range.length <= self.length;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3387 次 |
| 最近记录: |