【发布时间】:2026-01-17 23:15:01
【问题描述】:
如何在 @objc protocol 中声明 CGFloat 类型的可选变量?
我有
@objc protocol MyProtocol: class {
var myvar: CGFloat? { get set }
}
我收到错误消息“属性不能是 @objc 协议的成员,因为它的类型不能在 Objective-C 中表示”。
【问题讨论】:
如何在 @objc protocol 中声明 CGFloat 类型的可选变量?
我有
@objc protocol MyProtocol: class {
var myvar: CGFloat? { get set }
}
我收到错误消息“属性不能是 @objc 协议的成员,因为它的类型不能在 Objective-C 中表示”。
【问题讨论】:
你试过了吗
@objc protocol MyProtocol: class {
var myvar: NSNumber? { get set }
}
然后你可以将NSNumber转换成CGFloat
【讨论】: