【问题标题】:Swift method with a swift enum as parameter is not visible in Objective C以 swift 枚举为参数的 Swift 方法在 Objective C 中不可见
【发布时间】:2015-11-26 22:24:23
【问题描述】:

我有一个带有枚举的 swift 类和一个需要枚举类型的参数的方法:

import SpriteKit

enum Direction: Int {
    case up = 1;
    case down = -1;
}

class ParallaxScrollingNode: SKNode {

    func addStaticBackground(name: String) {
        ...
    }

    func addParallaxBackground(imageNames: [String], yScaleFactor: CGFloat, yDirection: Direction) {
        ...
    }

在我的 Objective C 类中,可以调用第一个方法,但不能调用第二个方法:

看起来是枚举导致了问题。如果我将类型更改为 Int,则方法是导弹。当然,我可以用我的代码做到这一点,但我想了解这是否不能正常工作,或者我是否遗漏了什么。

谢谢
斯蒂芬

【问题讨论】:

  • 尝试在枚举声明前添加@objc
  • @rkyr 成功了。非常感谢。

标签: ios objective-c swift


【解决方案1】:

所以对于有类似问题的人:

在声明之前添加@objc 规范使这个结构在Objective-C 世界中可用。

Docs.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多