Протокол 'FlightRoutesDataProtocol' может использоваться только в качестве общего ограничения, потому что он имеет Self или требования к связанному типу. - PullRequest
0 голосов
/ 10 сентября 2018

Несколько дней назад пытался использовать приложение с Xcode 10 и с Swift 4.2, который был ранее в Swift 4.1, но не смог решить ошибку, которую я получаю при использовании версии Swift 4.2.

Использование этого протокола в моем приложении

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' может использоваться только в качестве общего ограничения, потому что он имеет требования к Self или связанный тип

...