我的应用程序在 "return nil" 时关闭,我该如何解决? | Swift

My app closes when "return nil", how can I fix it? | Swift

我想使用正则表达式,但我不会

class Regex {
    let pattern: String
    let internalExpression: NSRegularExpression

    init?(_ pattern: String) {
        do {
            self.internalExpression = try NSRegularExpression(pattern: pattern, options: .CaseInsensitive)
        } catch {

            print(error)
        }
        return nil

    }
    func test(input: String) -> Bool {
        let matches = self.internalExpression.matchesInString(input, options: [], range:NSMakeRange(0, input.characters.count))
        return matches.count > 0
    }
}

您的代码无法编译(常量 'self.pattern' 在初始化之前使用 )并且您可能不想 return nil 即使成功

class Regex {
    let pattern: String
    let internalExpression: NSRegularExpression

    init?(_ pattern: String) {
        do {
            self.pattern = pattern
            self.internalExpression = try NSRegularExpression(pattern: pattern, options: .CaseInsensitive)
        } catch {
            print(error)
            return nil
        }
    }

    func test(input: String) -> Bool {
        let matches = self.internalExpression.matchesInString(input, options: [], range:NSMakeRange(0, input.characters.count))
        return matches.count > 0
    }
}