您的位置:首页 > 其它

NSRangeFromString 测试

2016-01-05 21:08 274 查看
官网文档

Returns a range from a textual representation.

Declaration

SWIFT

func NSRangeFromString(_ 
aString
: String) -> NSRange


OBJECTIVE-C

NSRange NSRangeFromString ( NSString *aString );


Discussion

Scans
aString
for two integers which are used as the location and length values, in that order, to create an
NSRange
struct. If
aString
only contains a single integer, it is used as the location value. If
aString
does not contain any integers, this function returns an
NSRange
struct whose location and length values are both 0.

Availability

Available in iOS 2.0 and later.

今天发现一个由 NSRangeFromString 引起的bug,主要看这命名吧,对这个方法的理解错误引起的。很惭愧的说,我自以为,这货应该返回的是字符串的开始位置和长度。-_-#! 测试后,又看了文档,才发现,不是这么回事!

NSString *str1 = @"abcdef";
NSString *str2 = @"1-105";
NSString *str3 = @"13";
NSString *str4 = @"13 34";
NSString *str5 = @"15 32 77";
NSRange range = NSRangeFromString(str1);
NSLog(@"\nlocation:%ld  length:%ld", range.location, range.length);
//location:0  length:0

range = NSRangeFromString(str2);
NSLog(@"\nlocation:%ld  length:%ld", range.location, range.length);
//location:1  length:105

range = NSRangeFromString(str3);
NSLog(@"\nlocation:%ld  length:%ld", range.location, range.length);
//location:13  length:0

range = NSRangeFromString(str4);
NSLog(@"\nlocation:%ld  length:%ld", range.location, range.length);
//location:13  length:34

range = NSRangeFromString(str5);
NSLog(@"\nlocation:%ld  length:%ld", range.location, range.length);
//location:15  length:32


  

在使用一个api之前要看文档,看文档,看文档
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: