Swift CustomReflectable не работает в отдельной статической библиотеке - PullRequest
0 голосов
/ 01 июля 2019

Swift CustomReflectable не работает, если он был реализован в отдельном файле в отдельной статической библиотеке.

//  BBB.swift
public struct BBB {
    public var xcv = 344
    public init() {}
}

//  BBB.mirror.swift
extension BBB: CustomReflectable {}
public extension BBB {
    var customMirror: Mirror {
        return Mirror(
            self,
            children: [
                "xxx": 342,
                "www": 999])
    }
}

Как заставить это работать?

1 Ответ

0 голосов
/ 01 июля 2019

По моему опыту, с Xcode 10 и 11 Beta 2, Swift CustomReflectable не работает, если - Это в отдельной статической библиотеке. - Это реализовано с использованием extension.

Вы можете попытаться перенести конформацию протокола в основной файл типа следующим образом, и пока это будет работать.

// Put protocol conformation here!
public struct BBB: CustomReflectable {
    public var xcv = 344
    public init() {}
}
public extension BBB {
    var customMirror: Mirror {
        return Mirror(
            self,
            children: [
                "xxx": 342,
                "www": 999])
    }
}

Не знаю почему, но это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...