协议“ FlightRoutesDataProtocol”只能用作通用约束,因为它具有“自我”或相关类型要求

时间:2018-09-10 07:04:08

标签: swift generics protocols

几天前,尝试将应用程序与Xcode 10和Swift 4.2一起使用,而该应用程序早于Swift 4.1,但无法解决使用4.2版本的Swift时遇到的错误。

在我的应用程序中使用了此协议

protocol MyProtocol: AnyObject, RealmCollectionValue {
var name: String { get }
var count: Int { get }

static func sortKeyPath() -> String

func getTitleText() -> String
func getValueText() -> String
func getCodeText() -> String?
func getSubtitleText() -> String?
}

extension MyProtocol {

static func sortKeyPath() -> String {
    return "count"
}

func getTitleText() -> String {
    return name
}

func getValueText() -> String {
    return "\(count)"
}

func getCodeText() -> String? {
    return nil
}

func getSubtitleText() -> String? {
    return nil
}
}

在我的应用的视图模型中的使用方式

private var data: [MyProtocol] = []

这给了我一个错误。

协议“ MyProtocol”只能用作通用约束,因为它具有“自我”或相关类型要求

0 个答案:

没有答案