title: NSString pointer passed to function... not keeping the value I set
body: <p>I'm not sure what I'm doing wrong here.  I've also tried setting <code>s1..3</code> in <code>foo</code> by using:</p>
  
  <p><code>s1 = [[NSString alloc] initWithString:[filepaths objectAtIndex:0]];</code></p>
  
  <p>Context below:</p>
  
  <pre><code>void foo(NSString *s1, NSString *s2, NSString *s3){
      //assign long string to NSString *fps
      //...
      //break fps into smaller bits
      NSArray *filepaths = [fps componentsSeparatedByString:@"\n"];
      //the above worked! now let's assign them to the pointers
      s1 = [filepaths objectAtIndex:0];
      //repeat for s2 and s3
      NSLog(@"%@",s1); //it worked! we're done in this function
  }
  
  int main(int argc, const char * argv[]){
      NSString *s1 = nil; //s2 and s3 as well
      foo(s1,s2,s3); //this should work
      NSLog(@"%@",s1); //UH OH, this is null!
      return 0;
  }
  </code></pre>