поэтому я функцию, которая получает Any
и проверяет, является ли любое это перечисление с помощью отражения:Я хочу вернуть RawValue RawRepresentable в качестве любой, но я только получить его как любой
func extractRawValue(subject: Any) throws -> Any {
let mirror = Mirror(reflecting: subject)
guard let displayStyle = mirror.displayStyle,
case .`enum` = displayStyle else {
throw Errors.NoEnum
}
// And from here I don't know how to go any further...
// I wish I could do something like this:
guard let subject = subject as? RawRepresentable where let rawValue = subject.rawValue as Any else {
throw Errors.NoRawRepresenable
}
return rawValue
}
Кто-нибудь знает, как я могу добиться чего-то подобного?
Какой вопрос «защищать пусть subject = subject as? RawRepresentable, где пусть rawValue = subject.rawValue как Any' пытается спросить? Я вижу, что первая часть задает вопрос, является ли эта вещь непонятной, но я не могу себе представить, что должна означать вторая часть. Помогите мне здесь. – matt
Удалось ли вам? Я пытаюсь найти что-то подобное здесь: http://stackoverflow.com/questions/43666118/if-let-any-to-rawrepresentablestring –