title: Retaining an object created in an NSThread
body: <p>I have the following method which is spawned by a call for a new thread (using NSThread):</p>
  
  <pre><code>- (void) updateFMLs {   
      NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
      NSArray *temp = [[NSArray alloc] initWithArray:someArrayFromAnotherProcess];
  
      [self performSelectorOnMainThread:@selector(doneLoading:) withObject:temp waitUntilDone:NO];
      [pool release];
  }
  </code></pre>
  
  <p>My <code>doneLoading:</code> method looks like this:</p>
  
  <pre><code>- (void) doneLoading:(NSArray *)obj {
      myArray = [[NSArray alloc] initWithArray:obj copyItems:NO];
  }
  </code></pre>
  
  <p>The contents of <code>myArray</code> become invalid. How can I preserve the contents of <code>myArray</code> so I can use them later in my app?</p>
  
  <p>P.S. <code>myArray</code> is defined in the class header file.</p>