- (NSRange)rangeOfComposedCharacterSequencesForRange:(NSRange)range;
- (NSRange)rangeOfComposedCharacterSequenceAtIndex:(NSUInteger)index;
這兩個(gè)方法主要針對(duì)一些特殊字符獲取真正的范圍,防止你把同一個(gè)字符給拆開(kāi)了畸颅,比如????????這種字符,它們并不是只占一個(gè)字符
NSString *string = @"????????哈哈哈";
NSRange range = [string rangeOfComposedCharacterSequencesForRange:NSMakeRange(0, 5)];
NSRange range2 = [string rangeOfComposedCharacterSequenceAtIndex:5];
NSLog(@"string length : %zd range :%@ range 2: %@", string.length, NSStringFromRange(range), NSStringFromRange(range2));
輸出結(jié)果:
2017-08-31 10:31:06.642 thread[6851:1320629] string length : 11 range :{0, 8} range 2: {4, 4}
看例子應(yīng)該很容易看明白。