【问题标题】:Swift @objc protocol with optional variable CGFloat?带有可选变量 CGFloat 的 Swift @objc 协议?
【发布时间】:2026-01-17 23:15:01
【问题描述】:

如何在 @objc protocol 中声明 CGFloat 类型的可选变量?

我有

@objc protocol MyProtocol: class {
    var myvar: CGFloat? { get set }
}

我收到错误消息“属性不能是 @objc 协议的成员,因为它的类型不能在 Objective-C 中表示”。

【问题讨论】:

    标签: ios swift


    【解决方案1】:

    你试过了吗

    @objc protocol MyProtocol: class {
        var myvar: NSNumber? { get set }
    }
    

    然后你可以将NSNumber转换成CGFloat

    【讨论】:

      最近更新 更多