我找不到問題出在哪裏,但是這段代碼崩潰了。我是否會釋放任何物體?這段代碼是否被釋放?
settings = [[SettingsViewController alloc] initWithNibName:@"SettingsController" bundle:nil];
settings.hidesBottomBarWhenPushed = YES;
NSArray * arrayWithRootController = [[NSArray alloc] initWithObjects:settings, nil];
[(UINavigationController*)([self.tabBar.viewControllers lastObject])setViewControllers:arrayWithRootController];
[arrayWithRootController release];
[settings release];
如果我刪除線
[settings release];
的應用doesn't崩潰。但我很確定它的正確性。問題可能在另一個地方嗎?
任何想法?非常感謝
你可以發佈崩潰的細節?該錯誤將非常有用。 – Patrick 2013-02-20 16:33:58
@ user1394965你錯了! iOS6不會改變內存管理中的任何內容。我相信你已經將它與自動引用計數混合在一起。 (在iOS4/5中也可以使用它!) – miho 2013-02-20 16:35:06
如果UINavigationController保留其視圖控制器,則此代碼看起來正確。通過使用NSArray工廠方法'-arrayWithObject:'可以簡化一些事情,因爲結果是自動釋放。 – paulmelnikow 2013-02-20 16:36:24