NSRangeからSwiftのRangeへの置換方法


はじめに

NSRangeはlocation(位置)とlength(長さ)の2つを持つ、範囲を表す構造体です。
SwiftではRangeとして範囲の扱いについて再定義されています。
NSを外せば置き換えられません。別物といってもいいくらいです。

対比表

とりあえずNSRangeからRangeに置き換えたいときは、この対比表で置き換えてください。

NSRange Range
開始位置 location startIndex
長さ length count

NSRange

文字列から取得する方法

NSString *text = @"つれづれなるままに";
NSRange rangeTest = [text rangeOfString:@"ままに"];

また、NSMakeRange で作成することもできます。

NSRange range = NSMakeRange(3, 5);

参照

NSRange - Foundation | Apple Developer Documentation
Range - Swift Standard Library | Apple Developer Documentation

NSRangeの使い方 - Object for cutie
swift - How to convert Range in NSRange? - Stack Overflow
[Swift2]Stringの Range と NSRange の変換 : 永遠日誌