title: Why are these two NSString pointers the same?
body: <p>When I <code>alloc</code> and <code>init</code> two <code>NSString</code> variables and compare their pointers, they are the same. Here's a snippet that shows this:</p>
  
  <pre><code>NSString *s1 = [[NSString alloc] initWithString:@"hello world"];
  NSString *s2 = [[NSString alloc] initWithString:@"hello world"];
  
  if (s1 == s2) {
      NSLog(@"==");
  }else {
      NSLog(@"!=");
  }
  </code></pre>
  
  <p>Why are <code>s1</code> and <code>s2</code> the same?</p>