2016-09-21 10 views
1

ジェネリック型を受け入れるカスタムセルがあります。Swift 3汎用型がUITableViewCell型の値を変換できません

class MyCell<T>: UITableViewCell where T: MyCellDataSource, T: MyCellDelegate 

セルのデキュー時にキャストを入力または推論するにはどうすればよいですか?私は最近、同じ実装で働いていたスウィフト3.0 で

let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) 
+0

を役に立てば幸い! MyCell'私は – Eric

+0

と思っていません、それはしません。それはいつものやり方で、私はそれを試しました。 – Axel

+1

指定されていないジェネリック型にはキャストすることができません。コンクリート版のみ、つまりジェネリックな 'T 'を指定してキャストできません。何かの行に沿って 'let cell = tableView.dequeueReusableCell(withIdentifier:" cell "、for:indexPath)を! MyCell ' – dfri

答えて

0

。 これを次のコードで解決しました。 (:のために、 "セル":indexPath withIdentifier)として

let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as? MyCell<TName> 
//Configure cell here 
return cell! 

は、それはあなたが `聞かせてセル= tableView.dequeueReusableCellを行うことができます

関連する問題