Swift でひらがな/カタカナを変換する

Extension での実装方法。String クラスに hiragana, katakana のメソッドが追加されます。

extension String {

    func katakana() -> String {
        var str = ""

        for c in unicodeScalars {
            if c.value >= 0x3041 && c.value <= 0x3096 {
                str.append(UnicodeScalar(c.value+96))
            } else {
                str.append(c)
            }
        }

        return str
    }

    func hiragana() -> String {
        var str = ""

        for c in unicodeScalars {
            if c.value >= 0x30A1 && c.value <= 0x30F6 {
                str.append(UnicodeScalar(c.value-96))
            } else {
                str.append(c)
            }
        }

        return str
    }
}