Вот лучший ответ, благодаря добрым людям из списка рассылки CocoaDev!
«Диапазон», указанный в сигнатуре метода, - это диапазон только принимающей строки .
Итак, в вашем первом примере вы сравниваете символы в диапазоне s1 со всем s2;и это, правильно, сообщается как -1.
Это также объясняет очевидную аномалию, отмеченную fluchtpunkt.