としてそれを受け取るので、私はAny
を受け取る機能を持っており、どれがリフレクションを使用して列挙されていないか調べます:私がどれとしてRawRepresentableのrawValueを返すようにしたいが、私は唯一のどれ
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
}
誰かが私のような何かを達成する方法を知っていますか?
どのような質問が 'guard let subject = subject asですか? RawRepresentableここで、rawValue = subject.rawValueをAny'として聞かせようとしていますか?私は、最初の部分は、このことがRaw表現であるかどうかを尋ねるが、2番目の部分が意味すると思われるものを想像することはできない。ここで助けてください。 – matt
成功しましたか?私はここで何かを見つけることを試みている:http://stackoverflow.com/questions/43666118/if-let-any-to-rawrepresentablestring –