What does this -> symbol mean?
<p>I'm a little bit confused now after I've seen a code snippet for iPhone SDK which makes use of -> rather than dot notation. It looks a lot like PHP but it does work on the iPhone. Can someone explain what's up with <strong>-></strong>, is that some deep C-secret I should know about?</p>

<p>Example:</p>

<pre><code>- (void)setFileURLs: (NSArray*)elements {
    if (self-&gt;fileURLs != elements)
</code></pre>

<p>fileURLs is an instance variable or property, like so:</p>

<pre><code>@property(nonatomic, retain) NSArray *fileURLs;
</code></pre>

<p>and there's an @synthesize for fileURLs. 
Now what I <em>think</em> this is: Because this is the setter method for fileURLs, it would be bad to use dot notation to access the instance variable. In fact, when I do it, the application crashes. That is because it calls itself over and over again, since the dot notation accesses the accessor method and not the ivar directly. But -> will access the ivar directly.</p>

<p>If that's right, the question changes a little bit: Why then write "self->fileURLs" and not just "fileURLs"? What's the point of adding that self-> overhead in front of it? Does it make sense? Why?</p>
