2017-04-17 11 views
1

私の質問はばかばかしいかもしれませんが、私はよりよいアプローチを知りたいだけです。同じ複合細胞を多くのtableViewsで使用する場合は、UITableViewCellサブクラスを作成する方が良いです。UITableViewCellサブクラスまたはプロトタイプセル

しかし、プロトタイプセルを使用したい場合は、セルをコピーしてコピーしてtableViewsにコピーするだけで違いがありますか?メモリ消費に影響はありますか?

+0

あなたは一度だけ作成したい場合は、と何度も使用。カスタムテーブルセルビューを使用する必要があります。おもう。 dequecellIdentifierを使用すると、パフォーマンスは同じになります。あなたはこのリンクを見ることができますhttp://stackoverflow.com/a/42432992/1514066 –

答えて

2

別のクラス+ xibファイルを作成します(例:MyCellUITableViewCell)。すべての複雑なUI /ロジックをそのセルに移動します。次に、このセルをどこでも再利用することができます。ただ、例えばtableView

にペン先を登録します。

let nib = UINib(nibName: "MyCellUITableViewCell", bundle: nil) 
self.tableView.register(nib, forCellReuseIdentifier: "MyCellUITableViewCell") 

こうすることで、あなたが複数の場所にセルを再利用することができますし、複数の場所にそれをコピーする必要はありません。

セルをコピーするとメモリは増えませんが、アプリは重くなります。結局のところ、あなたはそれをDRY(あなた自身を繰り返さないでください)にしておくことができます。

私はObjective-Cのフラグを逃し、スウィフト3に書いた - Objective-Cのために:

UINib *cellNib = [UINib nibWithNibName:@"MyCellUITableViewCell" bundle:nil]; 
[self.tableView registerNib:cellNib forCellReuseIdentifier:@"MyCellUITableViewCell"]; 
関連する問題