我有一个字符串扩展,其中定义了一个函数来计算两个不同字符串之间的 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/