【发布时间】:2016-09-19 12:13:54
【问题描述】:
我一直在尝试将一段代码从 Objective C 转换为 Swift 3.0 语法,但没有成功。请在下面找到目标 c 代码。
目标 C
NSCharacterSet *invalidCharSet = [[NSCharacterSet characterSetWithCharactersInString:@"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz "] invertedSet];
NSString *filtered = [[string componentsSeparatedByCharactersInSet:invalidCharSet] componentsJoinedByString:@""];
这是我尝试过的,
Swift 3.0
let invalidCharSet : NSCharacterSet = NSCharacterSet.init(charactersIn: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ").inverted as NSCharacterSet
let filtered = (replacementString.components(separatedBy: invalidCharSet)as NSArray).componentsJoined(by: "")
第二条语句(即filtered = ..)给出以下错误,
错误
'components' 产生 '[String]',而不是预期的上下文结果 输入“NSArray”
【问题讨论】:
-
不要使用 NSArray,使用 Swift 数组并在其上调用 .joined。
-
尝试了这两个建议...都不起作用
标签: ios objective-c swift3