2012-03-25 15 views
0

私は別個のクラスのカスタムuitableviewcellを作成し、それをuitableviewのviewcontrollerで使用しました。今度は、カスタムuitableviewcellのボタンをクリックすると、別のページに移動したいと思っています。誰か助けてくれますか?続きカスタムuitableviewcellのナビゲーション

はUITableViewCellの中ボタンクリックでアクションの私のコードです:

-(IBAction)followUser:(id)sender { 
    NSLog(@"memberid %d",self.memberid); 
    profileViewController *profile = [[profileViewController alloc] init]; 
    [((UIViewController*) sender).navigationController pushViewController:profile animated:FALSE]; 

} 

しかし、それはクラッシュしています。

答えて

0

[profileViewController alloc]が間違っています。インスタンス変数ではなく、オブジェクトの実際のクラスを割り当てる必要があります。

1

アクションメソッドの「followUser:」の送信者パラメータは、そのメソッドを呼び出したコントロールを参照します。おそらくUIButtonです。そして明らかにUIButtonには 'navigationController'プロパティがありません。あなたのコードがナビゲーションスタックにあるUIViewControllerサブクラスの中にある場合、そのサブクラスには 'navigationController'プロパティがあり、それを介してUINavigationControllerにアクセスできます。それは彼のUIViewControllerのサブクラスの名前だ場合、

-(IBAction)followUser:(id)sender { 
NSLog(@"memberid %d",self.memberid); 
profileViewController *profile = [[profileViewController alloc] init]; 
[self.navigationController pushViewController:profile animated:FALSE]; 
[profile release]; 
} 

「profileViewControllerのアロケーション」と間違って@CodaFiナッシング:これを試してみてください。

+0

実際に送信者は、私がテーブルビューを追加したビューコントローラです。テーブルビューにはカスタムテーブルビューセルがあり、これらのセルにはこのコードが呼び出されます。あなたの答えはUIButtonがUITableviewCellに存在するのではなく、UIViewcontrollerに存在しないため、保持されません。 – pankaj

関連する問題