2016-06-20 10 views
0

私は提出されたユーザーデータを追跡することを扱ってきたすべてのチュートリアルで、テーブルビュー/コレクションビューは配列+ indexPath.rowと一緒に使用され、どの投稿がどのトラックであるかを記録します。データをテーブルビューに保存しないでください。

私は複数のユーザーが投稿を行うことができるアプリケーションに取り組んでいますが、テーブルビューの代わりに、画面上で自由に移動できるボタンに投稿を入れたいと思っています。

索引が一致する構造化テーブルビューの外にあるときに、どの投稿がどのトラックであるかを把握するのに苦労しています。

firebaseをバックエンドとして使用しているので、ユーザーがポストボタンをクリックすると、対応するポストをロードするのが理想的です。通常、保存された配列からindexpath.rowを取得することで行われますfirebaseから。私はtableviewsを使って作業中のアプリケーションを持っていますので、firebaseなどからデータを取得する方法は尋ねませんが、ボタンのコンセプトにどのように移行するかを尋ねます。

これは基本的に、リスト形式でないときに画面上の投稿や「もの」をどのように追跡していますか?このようなことは、ゲームの中でいつも行われているようですが、ゲーム以外のアプリに同じ種類のロジックをどのように適用するかはわかりません。

答えて

0

あなたが言うように、テーブルビューは、各セルが「アドレス」(indexPath)であり、セルのデータを検索するためのフレームワークを提供します。

フリーフローティングのボタンを使用する場合は、どのボタンがどれであるかを把握するためのスキームを用意する必要があります。

これを行う簡単な方法の1つは、ボタンにタグプロパティを設定し、ボタンのIBActionでタグ値を調べてデータのインデックスとして使用することです。 (0は "このフィールドにはタグがありません"という値なので、インデックスとして機能するタグとしてタグ0を使用しないでください。このような場合、通常はタグ値に100などの固定値を追加します。配列インデックスとして使用する前にタグから減算してください。

0

UIエレメントには、それらを追跡するために使用できる.tagプロパティがあります。どのシステムでも、キーと値のペアリングが必要ですボタンの一部(タグ、実際のオブジェクト、オブジェクトのハッシュなど)を参照できるようにするには、TableViewのキー値のキーと同じように:IndexPath、value:UITableViewCell

アイテムは配列内では、配列内のインデックスをボタンに対応させることができます。

したがって、データ配列と同じサイズのボタンのNSArrayを作成します。画面上に表示されるようにボタンをインスタンス化し、必要に応じてビジュアルプロパティを設定します。ユーザがボタンを選択すると、ボタンのタグをチェックします。これは、読み出すデータ配列のインデックスに対応しています。

0

私はいくつかのコレクションにすべてのボタンを保存しますが、コレクションインデックスは使用しません。

モデルオブジェクトへの参照を持つ新しいクラスを作成し、ビューの詳細とインタラクションのためのハンドラ(ビューモデル)を表示し、それらのうちの1つを各ボタンに与える関数を作成します。次に、適切な情報への参照がすでにあるため、索引について心配する必要はありません。

関連する問題