2011-12-10 7 views
0

それぞれ、SweepStakeTableViewCellという名前の.h、.m、.xibファイルを作成し、xibファイルにはこのように見えるView to Cellを置き換えました。今私は異なるTableViewでTableViewCellを使用しました。だから私はTableViewCellの選択したボタンの値をTableViewにフェッチします

enter image description here

、私はボタンを選択するために、すべてのコードを書かれています。私は正常にSweepViewControllerという名前の異なる.h、.m、および.Xibファイルを持つテーブルにこのセルを統合しました。そのXIBの出力には参加者とこのようなオプションボタンが表示されます。 enter image description here

は今、私はSweepViewControllerのに選択したボタンの値を渡したい主なポイントに来ると、ボタンを選択するロジックはSweepStakeTableViewCellに座っています。

私にこれを手伝ってください。あなたが私の質問を明確に得ることができないならば、私は私に尋ねますか?

1)SweepStakeTableViewCellsでSweepViewControllerへの参照を格納:私は質問を理解していれば

答えて

0

は、二つのアプローチがあります。これを行うには、サブクラスにプロパティ(インスタンス変数とパブリックセッター)を追加し、tableView:cellForRowAtIndexPath:メソッドでセルを作成するときにプロパティを設定します。

2)Appleが提供する通知システムを使用してください。あなたのviewControllerはオブザーバーを登録する必要があります。その後、あなたのセルは通知をポストすることができ、それらはviewControllerによってピックアップされます。 NSNotificationCenterのドキュメントを確認してください。

0

SweepStakeTableViewCellのデリゲートを作成し、それにSweepViewControllerを割り当てることができます。

@protocol SweepStakeTableViewCellDelegate <NSObject> 
- (void)sweepTableViewCell:(SweepStakeTableViewCell *)cell buttonSelected:(UIButton *)button; 
@end 

テーブルビューデリゲート方法でセルを作成する際SweepStakeTableViewCellデリゲート方法(この場合、自己に)ビューコントローラを割り当てます。ボタンは、テーブルビューのセル内で選択された場合SweepStakeTableViewCell

@interface SweepStakeTableViewCell : UITableViewCell 
. 
. 
@property (nonatomic, assign) id<SweepStakeTableViewCellDelegate> delegate; 
. 
@end 

@implementation SweepStakeTableViewCell 
. 
- (void)buttonTapped:(id)sender 
{ 
    if ([delegate respondsToSelector:@selector(sweepTableViewCell:buttonSelected:)]) 
    { 
     [delegate sweepTableViewCell:self buttonSelected:sender]; 
    } 
} 
. 
@end 

、それはデリゲートメソッドということができますセルと選択ボタンで、この場合のビューコントローラ呼ぶために

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[SweepStakeTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 
    } 

    // Configure the cell... 
    . 
    . 
    . 
    cell.delegate = self; 
    return cell; 
} 

値を取得します。

関連する問題