私はこのようになります列挙型があります:異なるSection
からのものであり、私はどのタイプの検出できるようにしたい、私は別のCustomButton
を持って連結列挙戻り型
class CustomButton {
struct Section {
enum Root: Int {
case rootFirst, rootSecond, rootThird
}
enum Top: Int {
case topFirst, topSecond, topThird
}
}
var type: Any?
}
のような何かを行うことによって、すべてのCustomButton
ですcustomButton.type
。
今のところCustomButton
クラスにはtype
という変数を作成しますが、Any
にはさまざまなボタンタイプを格納する必要があるため、varタイプとして作成できます。問題は、type
の変数を取得するたびに、私がtype(of: type)
のようなもので作業しているボタンのタイプを確認してから、type(of: buttonType)
が報告しているものにAny
タイプをキャストして、topFirst
またはrootSecond
にアクセスできるようにしなければならないということです。タイプ上。
これを行う簡単な方法はありますか?私はそこにあると確信していますが、私は数時間の研究の後に何も見つかりませんでした。私はSwiftにとってもかなり新しいです。
ありがとうございます!
'CustomButton'は' UIButton'のサブクラスであるはずですか?どのような異なる値を取ることができるのですか?それは他の 'UIButton'サブクラスか' Section'の異なる値であるはずですか? –
はい、申し訳ありませんが、 'CustomButton'は' UIButton'のサブクラスです。 'type'は' Root.rootFirst'や 'Top.topSecond'のような全てのenumとは異なる値をとるべきです。 –