質問

私が使用して私のナビゲーションコントローラに新しいビューをプッシュしようとしています

    -(IBAction)switchPage:(id)sender
{
 MyTableViewController *myTableView = [[CMyTableViewController alloc] initWithNibName:@"MyTableView" bundle:[NSBundle mainBundle]];
 [myTableView release];
 [self.navigationController pushViewController:myTableView animated:YES];
}

私は次のようなエラーに実行しています:

2010-02-25 21:19:57.717 CoC[3399:20b] *** -[UIViewController switchPage:]: unrecognized selector sent to instance 0xf1a660
2010-02-25 21:19:57.718 CoC[3399:20b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[UIViewController switchPage:]: unrecognized selector sent to instance 0xf1a660'
役に立ちましたか?

解決

あなたは意味をなさないあなただけに割り当てられたオブジェクトを解放しています。

 MyTableViewController *myTableView = [[CMyTableViewController alloc] initWithNibName:@"MyTableView" bundle:[NSBundle mainBundle]];
     [myTableView release];

あなたがスタックにプッシュした後、リリースmyTableView

他のヒント

押した後、呼解放ます。

2010-02-25 21:19:57.717のCoC [3399:20B] * ** - [のUIViewController switchPage:]:未認識セレクタインスタンスに送信0xf1a660

あなたのクラッシュではないので、あなたが言及しているどのようなコードの。しかし、リリースおよびthenpushのようなあなたのコードにバグがあります。それを変更します:

 -(IBAction)switchPage:(id)sender
{
 MyTableViewController *myTableView = [[CMyTableViewController alloc] initWithNibName:@"MyTableView" bundle:[NSBundle mainBundle]];
 [self.navigationController pushViewController:myTableView animated:YES];
 [myTableView release];
}
この方法は、いくつかの問題を持っている:

私は「switchPage」を呼び出しているオブジェクトを推測します。それを確認するか、任意の助けのために、このメソッドの呼び出しを示した。

よろしく、 Manjunath

サブビューコントローラは、NAVのスタックにプッシュされた時には、上記が、大丈夫です、保持カウントを増やす必要があり、その後、あなたがプッシュ操作の後にそれを解放する必要があります。

あなたは最後の2行を交換する必要はありませんか?まず、プッシュコントローラ、それを解放していないその逆...:)

前述したように、あなたがそれをプッシュする前に、

は、ビューコントローラをリリース。あなたはナビゲーションコントローラにそれをプッシュすると、保持カウントが増加され、その後、あなたはそれを解放することができます。

-(IBAction)switchPage:(id)sender
{
     MyTableViewController *myTableView = [[MyTableViewController alloc] initWithNibName:@"MyTableView" bundle:[NSBundle mainBundle]];
    [self.navigationController pushViewController:myTableView animated:YES];
    [myTableView release];
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top