Да, это возможно, но на самом деле это не имеет смысла, поскольку отрицательное значение будет преобразовано в другое очень большое положительное значение.
NSUInteger loc = -1; // equal to 4294967295
1. Итак, вам нужна очень длинная строка.
2. Так, чтобы ваш пример работал
, вам нужно инвертировать отрицательное значение в огромное большое значение.
NSString *string = @"abc";
NSRange r1 = NSMakeRange(-NSUIntegerMax, 1);
NSString *myString = [string substringWithRange:r1];
NSLog(@"%@",myString);