cellForRowAtIndexPathメソッドでdequeueReusableCellWithIdentifierを使用しないと、何が起きているのだろうかと思います。 1つのプロジェクトで私は共同作業をしていますが、すべて異なるUITableViewCellsを1つのテーブルビューに表示します。ここでは、表示する必要があるすべてのTableCellで配列を塗りつぶします。これらの配列はそれほど大きくはありません(10〜15セル)ので、dequeueReusableCellWithIdentifierの識別子を使用しなくても動作します。次の質問は、識別子respをどのように使用できるかです。 dequeueReusableCellWithIdentifierは、UITableViewの1つのセクションで異なるセルを使用する場合に使用します。ここに誰かが説明することができます、正確に何がバックグラウンドで起こるか?よろしくNilsUITableViewはdequeueReusableCellWithIdentifierを使用しているかどうかを確認します。
1
A
答えて
4
dequeueReusableCellWithIdentifier
は私にFlyweight patternを思い出させるものです。
セルの割り当てとインスタンス化は高価なタスクになる可能性があるため、このメカニズムを使用すると、最初に表示されたセルのみを作成し、その後、内容を変更するだけで再利用できます。スクロールアニメーションは、ユーザーに良い経験を与えるためにできるだけ速くなければなりません。
その価値はありますか?はい、それは基本的に無料で、我々はちょうどいくつかの古いデータがまだ新しい視覚化に存在することができる注意を払う必要があります、トリックは常に-prepareForReuse()
メソッドを実装することです、ここで、新しいもの
同じセクション内の異なるセルを使用する場合は、高さが異なる場合でも絶対に可能です。あなたはちょうど各セルのために1つと、あなたのデータと一緒に何とかそれらを結びつけて、別のセル識別子を梱包する必要があります。
私は通常、struct(swift)または辞書に表示するデータを、使用するセル識別子のキーとともにマップします。
スクロール中に自分のタイプのセルが自分自身を表現している場合は、dequeue
である必要があります。
関連する問題
- 1. ポートが使用されているかどうかを確認しますか?
- 2. dequeueReusableCellWithIdentifierは私がのUITableViewとのUITableViewCellを使用していますページを作成していますUITableViewCellの
- 3. UITableViewセルのウィック部分をタップしたかどうかを確認します
- 4. 私はどのマージツールを使用しているのか確認しますか?
- 5. UITableView dequeueReusableCellWithIdentifierが一意であるかどうか
- 6. ブラウザがどのフォントを使用していてCSSを使用しているかを確認しますか?
- 7. フィールドがジェネリックパラメータを使用しているかどうかを確認する
- 8. 関数が@classmethodを使用しているかどうかを確認する
- 9. マイクロフォーマットを使用しているかどうかを確認する方法
- 10. ブラウザがモバイルデータまたはWi-Fiを使用しているかどうかを確認しますか?
- 11. コンピュータがDHCPまたはStatic through CMDを使用しているかどうかを確認しますか?
- 12. DotNet Core 1.1を使用しているかどうかはどのように確認できますか?
- 13. ユーザーが既にAuth.GoogleSignInApiを使用してログインしているかどうかを確認しますか?
- 14. ログイン中にユーザーがdeviseを使用して確認したかどうか確認してください
- 15. Mongo 3.4はこのクエリにインデックスを使用しているかどうかを確認しますか?
- 16. Boto3:ファイルは(upload_fileを使用してアップロードされているかどうかを確認します)
- 17. #ifdefを使用してXlibが使用されているかどうかを確認するには?
- 18. OAUTHを使用してYouTube認証が機能しているかどうかを確認する方法
- 19. FirebaseユーザーがFacebook認証を使用してサインインしているかどうかを確認する方法
- 20. PHPを使用してYouTube動画が削除されているかどうかを確認しますか?
- 21. アプリがXamarinを使用して構築されているかどうかを確認しますか?
- 22. flock()を使用してファイルが既にロックされているかどうかを確認しますか?
- 23. ログインしたかどうかを確認するには、firebaseを使用してネイティブに反応しますか?
- 24. vbscriptでワイルドカードを使用してウィンドウが開いているかどうかを確認します
- 25. itextsharpを使用して署名フィールドに署名しているかどうかを確認します
- 26. Windows APIを使用してARMを使用しているかどうかを確認するにはどうすればよいですか?
- 27. AppleScriptを使用してシェイプがワープまたはスケールされているかどうかを確認する
- 28. Tweepyを使用しているユーザーがいるかどうかを確認します
- 29. hashchangeを使用したWebサイト - popstateイベントが利用可能かどうかを確認していますか?
- 30. ファイルがJavaを使用してストリームを開いているかどうかを確認するには
バックグラウンドではどうなりますか?あなたはテーブルビューのセルキャッシュをかなり簡単に分解することができますが、デキューの仕組みや識別子の使い方とは無関係のようです。 – Wain
「再利用」はすべてです。それがそのメソッド名のインポート部分です。これは、毎回新しいセルを再割り当てするのではなく、画面外だったセルを再利用することを可能にする。言い換えれば:CPU、メモリ(キャッシュシステム)などを節約する – Larme
それは正しいWainです。我々は、一つのセクションに異なったカスタムセルがどのようにあるのかを知りませんので、上記のケースでは識別子を使用しません。何か提案はありますか? –