この種類の列挙型を使用するのは、関連付けられた値の型を持つ列挙型です。オブジェクトの型に応じてswitch
ステートメントを作成する必要があります。列挙型:私は置く代わりに???
する何見当がつかないスウィフトスイッチのクラスenumのクラス
if let anObject = object as? TypeEnum {
switch anObject {
case .foo(???):
return true
...
default:
return false
}
}
:私のオブジェクトがタイプTypeEnum
の変数を持っている
enum TypeEnum {
case foo(FooClass)
case doo(DooClass)
case roo(RooClass)
}
は、今私が列挙型であるオブジェクトの種類を確認する必要があります。 Xcodeは何かを入れるように指示しますが、私は.foo
に切り替えたいだけです。
アイデア?あなたがちょうどそれらを気にしない場合すべてで
switch anObject {
case .foo(let fooObj):
...
}
・オア・ナッシング:
あなたが使用することができswitch anObject {
case .foo:
...
}
trueとfalse以外に何かが返されていますか?答えが "いいえ"ならば、私はあなたのクラスのために 'isKind(of:)'または 'isMember(of:)'を使用するでしょう。あなたは使用したいクラスのインスタンスで.fooを埋めなければなりません。あなたが望むものではない – Knight0fDragon
[スイフト言語ガイド:列挙型](https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Enumerations.html#//apple_ref/doc/uid/TP40014097- CH12-ID145)*関連値*セクションをお読みください。 – vadian