是否可以在 NSMakeRange 中进行负定位?
NSString *string = @"abc";
NSString *myString = [string substringWithRange:NSMakeRange(-1, 1)];
是的,有可能,但实际上没有意义,因为负值会转化为另一个非常大的正值。
NSUInteger loc = -1; // equal to 4294967295
1.所以,你需要一个很长的字符串。
2.因此,您需要将负值转换为巨大的值,以使您的示例有效
NSString *string = @"abc";
NSRange r1 = NSMakeRange(-NSUIntegerMax, 1);
NSString *myString = [string substringWithRange:r1];
NSLog(@"%@",myString);