Используйте Swift Identified в Linux

#swift #linux

#swift #linux

Вопрос:

У меня есть некоторый код Swift, который полагается на протокол Identified, и я хочу использовать этот код в Linux, но я заметил, что Identified доступен только для платформ Apple. Итак, есть ли какой-нибудь простой способ переопределить Identified для других платформ?

Я знаю, что Identified является частью стандартной библиотеки swift, но она помечена символом @, доступным только для платформ Apple. Если вы перейдете к реализации, вы увидите следующее:

 @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public protocol Identifiable {

    /// A type representing the stable identity of the entity associated with
    /// an instance.
    associatedtype ID : Hashable

    /// The stable identity of the entity associated with this instance.
    var id: Self.ID { get }
}
 

Я видел, что продолжается проект по перестройке SwiftUI для других платформ: https://github.com/Cosmo/OpenSwiftUI но они еще ничего не сделали. Я упоминаю об этом, потому что SwiftUI в значительной степени полагается на SwiftUI для списков и ForEach
Итак, все, что вы знаете, что может помочь, будет высоко оценено.

Комментарии:

1. Identifiable не является только SwiftUI, но является частью Swift Standard Library .

2. Но он помечен @availabele только для платформ Apple