Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 160557
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T11:03:22+00:00 2026-05-11T11:03:22+00:00

I’m trying to create a multiview controller for a game, in which one root

  • 0

I’m trying to create a multiview controller for a game, in which one root view controller releases views before switching to another view. The sub view controllers are, in turn, sub-root view controllers themselves since they contain other view controllers.

For instance, my singlePlayerViewController will have a shakeObjectViewController and possibly others. Using actionsheets to switch between the views, with the app delegate as the actionsheet’s delegate, everything works as expected when going from singlePlayer view to another.

But when I attempt to create a new singlePlayerViewController using the same init methods, the debugger throws me a EXC_BAD_ACCESS error when I try to insert a subview, namely shakeObjectViewController.view.

Initialization looks like this at the moment: The app delegate initializes the window with the default init method,

- (void)applicationDidFinishLaunching:(UIApplication *)application {        // Override point for customization after application launch    [window addSubview:rootViewController.view];     [window makeKeyAndVisible]; } 

Then in the rootViewController.m’s viewDidLoad,

   if(singlePlayerViewController == nil) {        SinglePlayerViewController *singleController = [[SinglePlayerViewController alloc]                                        initWithNibName:@'SinglePlayerView' bundle:nil];       self.singlePlayerViewController = singleController;       [singleController release];    }     [self.view insertSubview:singlePlayerViewController.view atIndex:0]; 

Followed by singlePlayerViewController.m,

- (void)viewDidLoad {    self.view.tag = kSinglePlayerView; // tag the view     ShakeObjectViewController *shakeController = [[ShakeObjectViewController alloc]                                        initWithNibName:@'ShakeObjectView' bundle:nil];    self.shakeObjectViewController = shakeController;    self.view = shakeController.view;    [shakeController release]; } 

Note how my singlePlayerViewController is not inserting subviews, but is instead replacing its own view with a sub-view controller’s view. (Don’t know if this is a good practice or not ❓ )

When switching views, the app delegate performs the following:

for(UIView *subview in [rootViewController.view subviews]) {       [subview removeFromSuperview]; } [rootViewController.singlePlayerViewController release]  [rootViewController initMultiplayerView]; 

Then when switching back to single player mode, the same init method in rootViewController.m’s viewDidLoad is executed, and the debugger throws the error on the ‘[self.view insertSubview:singlePlayerViewController.view atIndex:0];’ line.

Any ideas as to why a new view isn’t being created? I’ve tried setting the singlePlayerViewController to nil instead of releasing, but then the error is thrown on the ‘self.view = shakeController.view;’ line. It was my understanding that if the view property is currently nil, a new one is created automatically for you upon the next access to the view.

Is initWithNibName only meant to be executed once? Or is my design way too convoluted in terms of # view controllers?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T11:03:22+00:00Added an answer on May 11, 2026 at 11:03 am

    Note how my singlePlayerViewController is not inserting subviews, but is instead replacing its own view with a sub-view controller’s view. (Don’t know if this is a good practice or not ❓ )

    Huge warning flag here. It sounds like you have one view with two view controllers. This is bad.

    Consider inserting and removing subviews instead:

    • RootView
      • SinglePlayerView (can be removed and replaced with MutliplayerView)
        • ShakeView

    This way you have 3 view with 3 view controllers.

    It’s the way the framework was meant to be used.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 94k
  • Answers 94k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer Multiple layers of validation go well with multi-layer apps. The… May 11, 2026 at 6:53 pm
  • Editorial Team
    Editorial Team added an answer I normally code up a one liner for this: perl… May 11, 2026 at 6:53 pm
  • Editorial Team
    Editorial Team added an answer Try selecting Enable Just My Code (Managed Only) in the… May 11, 2026 at 6:53 pm

Related Questions

I ran into a problem. Wrote the following code snippet: teksti = teksti.Trim() teksti
I am currently running into a problem where an element is coming back from
Seemingly simple, but I cannot find anything relevant on the web. What is the
Configuring TinyMCE to allow for tags, based on a customer requirement. My config is
Is it possible to replace javascript w/ HTML if JavaScript is not enabled on

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.