为什么我的自定义 class 无法识别 swift 扩展名? (即字符串)
Why does my custom class not recognize swift extensions? (i.e. String)
我有一个字符串扩展,我在其中定义了一个函数来计算两个不同字符串之间的 DamerauLevenshtein 距离。添加以下代码时:
var result = "Hello"
result.damerauLevenshteinTo("Hellow")
在任何其他 class 中,例如 UIViewController、UITableViewController 等,代码可以正常编译。
一旦我尝试将它添加到我自己定义为 class CustomClass: AnyObject
的 class 中,我就会收到以下错误消息。
Value of type String has no member 'damerauLevenshteinTo'
我错过了什么?谢谢!
Update 复制粘贴整个 class 并扩展到一个空项目编译很棒...将它移动到旧项目仍然给我错误无论我的尝试。
更新 2 看来我不能在这个 class 中使用任何自定义 classes 或 subclasses。嗯...
更新 3 删除文件并在新文件中粘贴 class 大约第三次后错误消失了...欢呼
您是如何添加带有扩展名的 class 的?我在我的项目中添加了一些 classes,其中包括扩展,其余代码无法识别这些扩展。看来这是因为我使用 "Create folder references" 选项而不是 "Create groups" 选项添加了文件。我删除了我添加的内容,然后再次添加它们并选择了 "Create groups" 选项。这为我修好了。
我没有追究为什么使用引用可能会导致这种行为,因为我本来打算用 "Create groups" 选项添加它们。
我有一个字符串扩展,我在其中定义了一个函数来计算两个不同字符串之间的 DamerauLevenshtein 距离。添加以下代码时:
var result = "Hello"
result.damerauLevenshteinTo("Hellow")
在任何其他 class 中,例如 UIViewController、UITableViewController 等,代码可以正常编译。
一旦我尝试将它添加到我自己定义为 class CustomClass: AnyObject
的 class 中,我就会收到以下错误消息。
Value of type String has no member 'damerauLevenshteinTo'
我错过了什么?谢谢!
Update 复制粘贴整个 class 并扩展到一个空项目编译很棒...将它移动到旧项目仍然给我错误无论我的尝试。
更新 2 看来我不能在这个 class 中使用任何自定义 classes 或 subclasses。嗯...
更新 3 删除文件并在新文件中粘贴 class 大约第三次后错误消失了...欢呼
您是如何添加带有扩展名的 class 的?我在我的项目中添加了一些 classes,其中包括扩展,其余代码无法识别这些扩展。看来这是因为我使用 "Create folder references" 选项而不是 "Create groups" 选项添加了文件。我删除了我添加的内容,然后再次添加它们并选择了 "Create groups" 选项。这为我修好了。
我没有追究为什么使用引用可能会导致这种行为,因为我本来打算用 "Create groups" 选项添加它们。