同じプロパティを持つUICollectionViewCellとUITableViewCellがあるとします。それらの細胞を移植する2つの機能を持っているのではなく、何かを取り、それが何であるのかを判断し、それを正しいものにキャストして戻ってくる前に行動を起こすジェネリックを持つことができますか?汎用スウィフト関数での型キャスト
私の考えは次のようになります。これはコードの重複を大量に回避する良い方法
func setUpCell<T>(event: Event, cell:T) -> T {
// figure out what T is and cast it
cell.event.bar = event.bar
return cell
}
のですか?お使いのモデル・タイプを考えると
さらに詳しい情報が必要ですが、どのクラスがfooですか? 'seperatorInset'、' event'、 'bar'というプロパティはどこで定義されていますか?あなたの例を拡張する必要があります。 – ColGraff
'foo'とは何ですか? 2つの異なるタイプで同じ操作を実行する場合は、インターフェイスをいくつか共有する必要があります。同一のプロトコルを採用する、同じスーパークラスのサブクラスなのです。 – Sulthan
fooは何もありません。その単なる例ですが、私はUITableViewCellとUICollectionViewCellのサブクラスが同じプロパティを持ち、同じように多く設定する必要があります。私は2つの別々の関数を書くことができたが、ジェネリックはそれを行うための他の方法かもしれないと思った。 – Md1079