1
我試圖刪除一個json的非轉義控制字符,我已經可以將它轉換爲字符串,但現在我正在嘗試在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(Swift 2.3)?
var mutable = String = inputString是錯誤的。 – gnasher729