【问题标题】:References to a class just ported to Swift appear as forward class objects对刚刚移植到 Swift 的类的引用显示为前向类对象
【发布时间】:2023-03-21 11:07:02
【问题描述】:

我刚刚将一个新类移植到 Swift 以克服我遇到的an issue with protocols。然而,在最终解决了与移植相关的所有问题后,对其他 Objective-c 类中类方法的所有引用都报告为:

“在前向类SwiftClass中找不到属性...”

我在网上找到了一些关于这个问题的参考,其中包含的顺序似乎很重要,但在我的所有课程中,*-Header.h 包含是最后一个。可能是什么问题以及如何解决?

【问题讨论】:

    标签: objective-c swift


    【解决方案1】:

    事实上,即使错误报告是虐待狂,这一次也是正确的。我已经大写了该类以采用 Apple 建议符号,期望编译器指导我进行重命名;相反,所有对旧名称的引用,而不是报告因缺少类而导致的正常错误,而是报告了这个有趣的错误非常遥远。

    但现在我在分配操作上遇到了一个更有趣的错误:

    选择器'alloc'没有已知的类方法

    ...那个奇怪的组件...!

    【讨论】:

      【解决方案2】:

      通过记住从 Swift 类中的 NSObject 继承来解决这个问题。简而言之,在将课程移植到 Swift 时绝对不要有创意,至少在尚未体验过的时候是这样,因为至少可以说错误消息具有误导性。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-03-12
        • 1970-01-01
        • 1970-01-01
        • 2017-08-07
        • 1970-01-01
        • 2022-10-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多