0

我这里有一个结构,当 Xcode 尝试编译它时会产生错误

public struct GATToIPPermissions : OptionSet {

    public init(rawValue: UInt)


    public static var read: GATToIPPermissions { get {}}

    public static var write: GATToIPPermissions { get {}}

    public static var event: GATToIPPermissions { get {}}

    public static var all: GATToIPPermissions { get {}}
}

我得到的错误是Type GATToIPPermissions does not conform to protocol RawRepresentable. 但是,我没有得到任何关于它为什么不符合的迹象。

你们中的任何人都能发现问题吗?

4

1 回答 1

0

您编写的语法就是您将在protocol. 如果它在协议中,它将声明“符合类型必须实现一个名为 的初始化程序,并且具有以下init(rawValue:)类型属性的 getter GATToIPPermissionsreadwriteeventall

但是您的目标不是在 a 中编写声明protocol,而是希望在 a 中编写实现struct,这就是它的外观:

public struct GATToIPPermissions : OptionSet {

    public init(rawValue: UInt) {
        //initialize self with `rawValue`
    }


    public static let read = GATToIPPermissions() //set me to the right value
    public static let write = GATToIPPermissions() //set me to the right value
    public static let event = GATToIPPermissions() //set me to the right value
    public static let all = GATToIPPermissions() //set me to the right value
}
于 2017-08-04T16:54:38.130 回答