title: private property in Objective C
body: <p>Is there a way to declare a private property in Objective C? The goal is to benefit from synthesized getters and setters implementing a certain memory management scheme, yet not exposed to public.</p>
  
  <p>An attempt to declare a property within a category leads to an error:</p>
  
  <pre><code>@interface MyClass : NSObject {
      NSArray *_someArray;
  }
  
  ...
  
  @end
  
  @interface MyClass (private)
  
  @property (nonatomic, retain) NSArray   *someArray;
  
  @end
  
  @implementation MyClass (private)
  
  @synthesize someArray = _someArray;
  // ^^^ error here: @synthesize not allowed in a category's implementation
  
  @end
  
  @implementation MyClass
  
  ...
  
  @end
  </code></pre>