title: Best practice for copying private instance vars with NSCopying
body: <p>I might be missing something obvious here, but I'm implementing NSCopying on one of my objects. That object has private instance variables that are not exposed via getters, as they shouldn't be used outside the object.</p>
  
  <p>In my implementation of <code>copyWithZone:</code>, I need alloc/init the new instance, but also set up its state to match the current instance. I can obviously access current private state from inside <code>copyWithZone:</code>, but I can't set it into the new object, because there are no accessors for that state.</p>
  
  <p>Is there a standard way around this while still keeping data privacy intact?</p>
  
  <p>Thanks.</p>