0
オブジェクトをクラスにキャストするにはどうすればよいですか?オブジェクトを独自のクラスにキャストする方法は?
ので、代わりにこれを書いている:機能は、カスタムUITableViewCell
を返し
return object as! object.class // which does not work
オブジェクトをクラスにキャストするにはどうすればよいですか?オブジェクトを独自のクラスにキャストする方法は?
ので、代わりにこれを書いている:機能は、カスタムUITableViewCell
を返し
return object as! object.class // which does not work
:
switch object { case is ClassA: return object as! ClassA case is ClassB: return object as! ClassB }
ように私は短い形式を探しています。 [...]テーブルビューでは、実際の型に関係なく、
UITableViewCell
にAnyObject
をキャストすることができ、配列<AnyObject>
を使用し、すべてのオブジェクトがUITableViewCell
サブクラスがカスタムされているので、カスタムにUITableViewCell
クラス
それをキャストする必要があります。 UITable
はUITableViewCell
ベースタイプを超えるタイプについて知る必要がないので、これで十分です。
関数の戻り値の型は何ですか? – dasblinkenlight
この関数はカスタムUITableViewCellを返します。それは関数tableView(cellForRowAtIndexPath ...)です。実際には、これは不正なコードデザインのような臭いです。つまり、テーブルビューは配列を使用し、それをカスタムUITableViewCellクラスにキャストしなければなりません。 –
Manuel
すべてのオブジェクトが 'UITableViewCell'サブクラスである場合、実際の型にかかわらず' AnyObject'を 'UITableViewCell'にキャストできます。 – dasblinkenlight