extension String {
static func ~= (lhs: String, rhs: String) -> Bool {
guard let regex = try? NSRegularExpression(pattern: rhs) else { return false }
let range = NSRange(location: 0, length: lhs.utf16.count)
return regex.firstMatch(in: lhs, options: [], range: range) != nil
}
}
我想不出一种方法来找到项目中使用这个重写函数的所有地方。Cmd+Ctrl+Shift+H
在这种情况下由于某种原因不起作用。
你可以说:“只需在代码库中搜索~=
符号”。
但是~=
也***隐式地***用于switch-case
运算符的求值。
使用案例:
假设我想改变~=
函数的逻辑(我真的这么做了)。而且我很确定,我还必须在使用这个函数的地方修复代码。所以我需要找到所有使用它的switch-cases
。否则这些switch-cases
将无法正常工作(编译器不会显示任何警告)。
附注
作为解决方案的示例:在代码库中搜索所有的switch
外观,并且在其中只查找switch String
/case String
。这正是我所需要的。
这种方法的唯一问题是:这将花费我几个小时(如果不是几天的话)🤣
1条答案
按热度按时间jdzmm42g1#
如果你不赞成覆盖呢?那么你只需要查看你的编译器警告。