我收到了错误:
Could not find an overload for 'init' that accepts the supplied arguments
:
var expr = NSRegularExpression(pattern: "test", options: 0, error: nil)
如果我传递NSRegularExpressionOptions
成员......
答案 0 :(得分:13)
在Swift 2中nil
不被接受,并且错误不再是输出参数(它被抛出),因此变为:
var expr = try NSRegularExpression(pattern: "test", options: [])
答案 1 :(得分:12)
使用nil而不是0. NSRegularExpressionOptions是一个结构,因此您无法为该参数传递整数。在Objective-C中,正则表达式选项是使用enums进行的,这些枚举被评估为整数。
var expr = NSRegularExpression(pattern: "test", options: nil, error: nil)
答案 2 :(得分:3)
枚举类型的值0可以使用空初始值设定项
传递let expr = NSRegularExpression(pattern: "test", options: NSRegularExpressionOptions(), error: nil)
答案 3 :(得分:0)
.allZeros案例在许多枚举中提供,因此您可以指定无选项。