title: Warning - incompatible pointer types initializing 'NSString *__strong' with an expression of type 'UITextField'
body: <p>I got this code and XCode warns me of &quot;incompatible pointer types initializing NSString *__strong with an expression of type UITextField&quot;.</p>
  <pre><code>NSString *name = (UITextField *)searchText.text;
  </code></pre>
  <p>but this one is fine</p>
  <pre><code>NSString *name2 = [(UITextField *)searchText text];
  </code></pre>
  <p>and this one is fine too</p>
  <pre><code>NSString *name3 = [(UITextField *)searchText.text mutableCopy];
  </code></pre>
  <p>I have two questions:</p>
  <ol>
  <li>I am confused with <code>obj.*</code> and <code>[obj *]</code></li>
  <li>Why is the &quot;mutableCopy&quot; correct is this case?</li>
  </ol>
  <p>I don't know how to search in Apple developer documentation for these questions.</p>