1
jsonのエスケープされていないコントロール文字を削除しようとしていますが、すでにStringに変換できましたが、Objective-Cでこの関数をswiftに適用しようとしています。Objective-Cの関数をswiftに変換する
- (NSString *)stringByRemovingControlCharacters: (NSString *)inputString
{
NSCharacterSet *controlChars = [NSCharacterSet controlCharacterSet];
NSRange range = [inputString rangeOfCharacterFromSet:controlChars];
if (range.location != NSNotFound) {
NSMutableString *mutable = [NSMutableString stringWithString:inputString];
while (range.location != NSNotFound) {
[mutable deleteCharactersInRange:range];
range = [mutable rangeOfCharacterFromSet:controlChars];
}
return mutable;
}
return inputString;
}
参照としてこれを次のとおりです。Unescaped control characters in NSJSONSerialization
私はそれを得たが、動作しません:
func stringByRemovingControlCharacters(inputString: String) -> String {
var controlChars = NSCharacterSet.controlCharacterSet<NSObject>()
var range = inputString.rangeOfCharacterFromSet<NSObject>(controlChars)
if range.location != NSNotFound {
var mutable = String = inputString
while range.location != NSNotFound {
mutable.deleteCharactersInRange(range)
range = mutable.rangeOfCharacterFromSet<NSObject>(controlChars)
}
return mutable
}
return inputString
}
明示的に一般的な機能に特化することはできません
の不変式に割り当てることができませんタイプ 'String.Type'
スウィフト(Swift 2.3)にはどのように適切に適応できますか?
var mutable = String = inputStringが間違っています。 – gnasher729