title: AVPlayer is not readyForDisplay, does not show
body: <p>I'm having trouble understanding under what conditions AVPlayer readyForDisplay would be "YES" for a locally stored video clip.  I am building an application whose main view has two subviews, each of which is a custom subclass of UIView that contains an AVPlayer and an APPlayerLayer to display video.  The application switches between display these two subviews in response to user input. In my Main view Controller, I have something like this:</p>
  
  <pre><code>- (void)viewDidLoad
  {
      firstView = [VideoView alloc] initWithFileName:@"clip1.mov"]];  //  VideoViews are assigend to instance variables
       secondView = [VideoView alloc] initWithFileName:@"clip2.mov"]];
      [[self view] addSubview:firstView];
  }
  </code></pre>
  
  <p>The initialization of these views loads up the AVPlayer and creates an AVPlayerLayer. When the app is launched, the first clip is shown correctly.  In response to user input, the second video is displayed in place of the first, like so:</p>
  
  <pre><code>- (void)responseToEvent
  {
      NSLog(@"%i", [targetView.readyForDisplay]); // prints out "1" in the console
      [firstView removeFromSuperview];
      [self.view addSubview:secondView];
  }
  </code></pre>
  
  <p>This works fine.  HOWEVER, if I change the viewDidLoad to put secondView into an NSMutableDictionary like so:</p>
  
  <pre><code>- (void)viewDidLoad
  {
      firstView = [VideoView alloc] initWithFileName:@"clip1.mov"]];
      VideoView *secondView = [VideoView alloc] initWithFileName:@"clip2.mov"]];
      [someViews setObject: secondView forKey:viewIndex];
      [[self view] addSubview: firstView];
  }
  </code></pre>
  
  <p>... and then later get the view out of someViews like this:</p>
  
  <pre><code>- (void)responseToEvent
  {
      VideoView *secondView = [neighborViews objectForKey:link.targetView.pftViewId];
      NSLog(@"%i", [targetView.readyForDisplay]); // prints out "0" in the console
      [firstView removeFromSuperview];
      [self.view addSubview:secondView];
  }
  </code></pre>
  
  <p>... this DOES NOT work.  There is no video shown.  I can not understand why putting the containing view into an NSMutableDictionary would cause the AVPlayer to not be ready and to not display video.  Furthermore, the video never appears (it never becomes "ready").  Does anyone know what is going on here?</p>