程序基本上只是應該在兩個視圖之間切換。我正在嘗試學習如何製作多視圖應用程序。具有兩個視圖的iOS應用程序。它崩潰,但不給我一個錯誤
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
FirstViewController *aView = [[FirstViewController alloc]initWithNibName:@"FirstViewController" bundle:nil];
self.firstView = aView;
[window addSubview:firstView.view];
self.window.rootViewController = aView;
return YES;
}
我得到一個錯誤說「應用程序預計將有在應用程序啓動的最後一個根視圖控制器」。我添加了一行「self.window.rootViewController = aView;」那個錯誤消失了。現在,我的應用程序將從視圖1切換到視圖2(它總是能夠做到這一點),但當試圖切換回它會崩潰。我得到的唯一結果是「(11db)」。它帶我到一個屏幕,一堆內存地址,並強調綠色如下:
0x10dc09b: movl 8(%edx), %edi
和它說:「主題1:EXC_BAD_ACCESS(代碼= 2,地址)」
我不知道如何解釋這個輸出。我在YouTube上跟蹤了一系列視頻指南來創建此程序。我做了兩次,以確保我做的一切都正確(我做到了)。如果你願意我所做的一切,這些指南被稱爲「Xcode tutorial#3 part 1/3:Multiview Applications」。
我令人難以置信的困惑。沒有人似乎有問題。
你如何在視圖之間切換? FirstViewController替換故事板中創建的一個嗎? (順便說一句,你不需要這行:[window addSubview:firstView.view])。 – rdelmar 2013-03-15 04:42:01
你不需要爲'UIWindow'添加一個子視圖,設置'rootViewController'爲你做。我建議將你的子視圖添加到你的'FirstViewController'的'view'中。 – Espresso 2013-03-15 04:43:38
@rdelmar我先進的道歉。我不知道如何格式化我的回覆。我有兩個視圖,每個視圖都有一個按鈕。這些按鈕連接到名爲'swapViews'的方法,其中每個方法都包含以下代碼:' - (IBAction)swapViews:(id)sender TeststandsAppDelegate * delegate =(TestViewsAppDelegate *)[[UIApplication sharedApplication] delegate]; FirstViewController * firstView = [[FirstViewController alloc] initWithNibName:@「FirstViewController」bundle:nil]; [delegate switchViews:self.view toView:firstView.view]; }' – user2172509 2013-03-15 04:44:16