gpt4 book ai didi

ios - 带有子类 Objective-C 类的 Swift 构建错误(涉及单词 "class"作为参数)

转载 作者:行者123 更新时间:2023-11-29 02:01:15 25 4
gpt4 key购买 nike

尝试在 Swift 中子类化自定义 Objective-C 类(UIViewController 的子类)时出现构建错误。

当我尝试在 Swift 中进行子类化时,出现下图中的构建错误。所有这些都与单词的使用有关 class作为 OCMapper 中的参数库(我也在那里打开 an issue)。

更多注意事项:

  • 在项目中,我既在 Swift 代码中导入并使用 Objective-C 代码,又在 Objective-C 代码中导入并使用 Swift 代码。
  • 我导入编译后的Module-Swift.h仅在 .m.mm文件和前向声明我在 .h 中需要的类文件。
  • 我尝试创建一个 Module-Swift-Fixed.h我在其中转发声明和/或导入自定义 Objective-C 类 header (按照建议 here ),但这并没有产生任何影响。

many build errors build error

有人以前见过类似的情况或有解决方案吗?

最佳答案

我还无法追踪语言规范中记录的位置,但我怀疑您也遇到了自从迁移到 Xcode 6.4 以来我最近在 Objective-C 中遇到的相同问题。

我有一个消息(方法)定义如下

- (BOOL)canProcessClass:(Class) class {
return [class isSubclassOfClass:[NSSet class]];
}

与您提到的预期标识符具有相同的编译错误。修复很简单 - 只需将 class 参数重命名为 classToProcess 之类的名称即可。这将为您提供以下内容

- (BOOL)canProcessClass:(Class) classToProcess {
return [classToProcess isSubclassOfClass:[NSSet classToProcess]];
}

因此,只需将 Swift 代码中的参数重命名为不使用(关键字)词 class 就可以了。

如果有人能给我指出记录这一点的语言规范,我将非常感激。据我所知,您不应该使用 Class,但我无法找到有关 class 的任何内容,除了明显它是一条消息(方法)可在类里面使用。

关于ios - 带有子类 Objective-C 类的 Swift 构建错误(涉及单词 "class"作为参数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30358388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com