【发布时间】:2016-11-07 00:52:50
【问题描述】:
我正在尝试删除 json 的未转义控制字符,我已经可以将其转换为字符串,但现在我正在尝试在 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 (Swift 2.3)?
【问题讨论】:
-
var mutable = String = inputString 错误。
标签: ios objective-c swift swift2