title: Property is nil after having been assigned
body: <p>The private property declared as:</p>
  
  <pre><code>@interface Camera ()
  {
      SE3 *_transformationFromWorld;
  }
  @end
  </code></pre>
  
  <p>Is assigned when the <code>Camera</code> object is initialized:</p>
  
  <pre><code>self = [super init];
  SE3 *transformation = [[SE3 alloc] initWithRotation:R withTranslation:T];
  _transformationFromWorld = transformation;
  [self initIntrinsics];
  
  return self;
  </code></pre>
  
  <p>But in the debugger window I can see it remains <code>nil</code>, while the <code>transformation</code> object is assigned normally. (I expanded the code to check that it wasn't the <code>SE3</code> initialization method returning a <code>nil</code>)</p>
  
  <p>How is this possible?</p>
  
  <p><strong>SOLUTION:</strong></p>
  
  <p>Comments from @Shahar pointed me to the right direction. When I declared the property like this (always in the .m file):</p>
  
  <pre><code>@interface Camera ()
  @property SE3 *transformationFromWorld;
  @end
  </code></pre>
  
  <p>it magically worked. Someone care to explain the difference between this way of declaring the property and the previous one?</p>