に私は私が持っている上記タブバーのcontroller.soに割り当てられたビュー・コントローラを変更する必要が私は、例えば既に割り当てする変数割り当てのiPhone SDK
self.m_tabbarController = [[TabbarController alloc] init];
already.for割り当てられているため、変数のためのメモリを割り当てる必要上記の を解放し、新しいコントローラで同じタブバーを割り当てます。どのように私は解放しone.If私は次の操作を実行し 新を割り当てることができ、IOS5
でクラッシュにif(self.m_tabbarController != nil)
{
[self.m_tabbarController release];
}
self.m_tabbarController = [[TabbarController alloc] init];
が、自己変数を与え、私はまた、次のように行うと、それが与える?のdeallocのmethod.anyのヘルプにしてくださいdeallcatedしなければなりませんクラッシュ? (retain)
型である@property
を再配分するため
m_tabbarController = [[TabbarController alloc] init];
[self.window addSubview:m_tabbarController ];
[m_tabbarController release];
のdeallocでmy_tabBarControllerを解放することを忘れてはいけない[[TabbarControllerのalloc]のinit]; – nameless
親愛なる@無名、最初に理由を読んでください。 – samfisher
私の答えをバックアップするには、ここにリンクがあります:http://stackoverflow.com/questions/1210776/objective-c-difference-between-setting-nil-and-releasing、さらに強く運が良かった! – samfisher