title: arrow operator in objective-c
body: <p>I have a question, here's the code:</p>
  
  <pre><code>@interface MyFoo : NSObject {
      NSString *nameStr;
  }
  @end
  @implementation MyFoo
  - (id)init {
      self = [super init];
      if (self) {
          self-&gt;nameStr = [@"some value of the string that is set right into the private ivar" copy];
      }
      return self;
  }
  @end
  </code></pre>
  
  <p>The question is: ignoring all the C++ rules, ignoring memory dump vulnerability, why exactly I shouldn't use such arrow operator syntax? 
  Is there somewhere in Apple documentation a rule which says that it's incorrect because in future class may be represented differently than a pointer to a struct in runtime etc. ?</p>
  
  <p>Thanks in advance!</p>