swift - 为什么我的自定义类无法识别 swift 扩展? (即字符串)

标签 swift swift-extensions

我有一个字符串扩展,其中定义了一个函数来计算两个不同字符串之间的 DamerauLevenshtein 距离。添加以下代码时:

var result = "Hello"
result.damerauLevenshteinTo("Hellow") 

在任何其他类(例如 UIViewController、UITableViewController 等)中,代码都可以正常编译。 一旦我尝试将其添加到我自己定义为 class CustomClass: AnyObject 的类中,我就会收到以下错误消息。

Value of type String has no member 'damerauLevenshteinTo'

我错过了什么?谢谢!

更新将整个类及其扩展名复制粘贴到空项目中编译效果很好...无论我尝试什么,将其移动到旧项目仍然会出现错误。

更新 2 看来我无法在此类中使用任何自定义类或子类。嗯...

更新 3 删除文件并将类粘贴到新文件中,大约第三次后就消除了错误......万岁

最佳答案

你是如何添加带有扩展名的类的?我在我的项目中添加了一些包含扩展的类,其余代码无法识别这些扩展。看来这是因为我使用“创建文件夹引用”选项而不是“创建组”选项添加了文件。我删除了添加的内容,然后选择“创建组”选项再次添加它们。这为我解决了这个问题。

我没有追究为什么使用引用可能会导致这种行为,因为我本来打算通过“创建组”选项来添加它们。

关于swift - 为什么我的自定义类无法识别 swift 扩展? (即字符串),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34632087/

相关文章:

ios - 如何在 NSDate 扩展 Swift 中改变 self ?

swift - 如何扩展允许使用带有动态键的下标的字典?

Swift:解析服务器检索数据范围 10...20

ios - 错误 : Value of type 'String' has no member 'totalAnswered'

ios - 为什么scrollView在swift中不会是不定式?

swift - 使用协议(protocol)切换通用数值函数

ViewController 扩展中的 Swift @IBActions

ios - 有没有办法在 Swift 中访问像 SKSpriteNode 这样的属性?

arrays - 当它无言/已完成时,如何重新启动?大批! swift 3

swift - 如何在协议(protocol)扩展中定义初始值设定项?