Представьте, что у вас есть экземпляр типа Swift Character, и вы хотите определить, является ли он членом NSCharacterSet. NSCharacterSet characterIsMember принимает значение unichar, поэтому нам нужно получить от Character до unichar.
Единственное решение, которое я мог бы придумать, следующее: где c - мой Character:
let u: unichar = ("\(c)" as NSString).characterAtIndex(0)
if characterSet.characterIsMember(u) {
dude.abide()
}
Я посмотрел на Character, но ничего не выскользнуло на меня как способ получить от него до unichar. Это может быть связано с тем, что Character более общий, чем unichar, поэтому прямое преобразование не будет безопасным, но я только предполагаю.
Если бы я повторял целую строку, я бы сделал что-то вроде этого:
let s = myString as NSString
for i in 0..<countElements(myString) {
let u = s.characterAtIndex(i)
if characterSet.characterIsMember(u) {
dude.abide()
}
}
(Предупреждение: вышеперечисленное является псевдокодом и никогда не управляется кем-либо когда-либо). Но на самом деле это не то, о чем я прошу.