2012-04-16 7 views
0

質問があります: 私は2つのUITableViewController:FirstController、SecondControllerを持っています。どのように私はSecondControllerのFirstControllerから各セルのaccesoryTypeを取得するのですか?助けhttp://developer.apple.com/library/ios/#documentation/UIKit/Reference/UITableViewDelegate_Protocol/Reference/Reference.html希望:あなたが見てみるかもしれません[他のUITableViewControllerの要素を取得する

- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
cell = [UITableViewCell .... 
.... 
[cell accessoryView]; 
return cell; 

} 

+0

私はあなたのデザインを再考することをお勧めします。あなたの最初のテーブルビューはどのアクセサリタイプがセルに属しているかを知っていますか?私はそれがモデルからその情報を集めていることを願っています。そうであれば、第2のテーブルビューは、アクセサリタイプを決定するために、最初のテーブルビューについてモデルに問い合わせるだけでよい。 – sosborn

答えて

0

あなたのような何かを試してみてください。

+0

私はすでにFirstControllerにセルを持つテーブルを作成しましたが、今はSecondControllerでFirstControllerからセルの量を取得する必要があります。これはaccesoryTypeがUITableViewCellAccessoryCheckmarkです。 – Hurrit

+0

うーん、どうして私はそれが普通だろうと思っていないのか分からない。私はあなたが達成しようとしているものは確かではありませんが、あなたはSecondViewControllerのparentやそれに類するものを作成してfirstViewControllerに設定することができるので、[fvc tableView]を呼び出すことができます。これが悪い考えのように聞こえる場合は、それが原因です。私はあなたのビジネスロジックを見て、クラス間でデータを渡すためのよりよい方法を見つけるでしょう。多分カスタムinit? – mdominick

0

私がこれを正しく理解していれば、FirstVCからSecondVCにテーブルをコピーしたり、少なくとも各セルのaccessoryTypeをコピーしたりすることができます。 SecondVCの弱い親のプロパティは、私がそれをやる方法です - しかし、確かに、私は他の方法を知っていません。

次に、SecondVCのtableView:cellForRowAtIndexPath:では、cell.accessoryType = [parent.tableView cellForRowAtIndexPath:indexPath].accessoryType;のようになります。 SecondVCのcell.accessoryTypeを同じindexPath内の親のcell.accessoryTypeに設定する必要があります。

0

ダミーのNSIntegerオブジェクトに量のセルを書き込み、2番目のTVCにアクセスしてください。それらが両方ともロードされ、同じコントローラによって追加されている場合は、プロパティで処理できるため完全に簡単です。そうでない場合は、カスタムデリゲートで処理します。

関連する問題