这是斯威夫特的臭虫吗?或者我错过了什么,我已经声明了以下内容let opts = (NSLinguisticTaggerOptions.OmitWhitespace | NSLinguisticTaggerOptions.JoinNames)
我得到以下错误
致命错误:无法展开可选。无
游乐场执行失败:错误:执行被中断,原因:exc_bad_指令(代码=exc_i386_invop,子代码=0x0)。
进程被留在中断点,使用“thread return-x”返回到表达式计算之前的状态。
更新
如果我将选项内联到调用方法中,它似乎可以工作
let tagger = NSLinguisticTagger(tagSchemes:NSLinguisticTagger.availableTagSchemesForLanguage("en"), options: 3)
tagger.string = someString
//if i inline the options it seems to work
tagger.enumerateTagsInRange(r, scheme: NSLinguisticTagSchemeNameTypeOrLexicalClass, options:(NSLinguisticTaggerOptions.OmitWhitespace | NSLinguisticTaggerOptions.JoinNames)){
tag,range,_,_ in
let token = nsstr.substringWithRange(range)
println("\(tag), \(token)")
}
最佳答案
对于options
参数,请尝试Int(opts.toRaw())
。
(您尝试的“3”工作,因为它是原始版本。)
关于swift - 快速的NSLinguisticTaggerOptions,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24424878/