title: Enabling zombies stops my app from crashing
body: <p>My app crashes right here at this line:</p>
  
  <pre><code>- (void)setXOffset:(CGFloat)xOffset {
      _xOffset = xOffset;
  
      _backingTextField.frame = (CGRect) {
          .origin.x = - round(xOffset * 2.f) / 2.f,
          .origin.y = NSMinY(_backingTextField.frame), // &lt;-- This is it
          .size = _backingTextField.frame.size,
      };
  
      [self _reloadMask];
  }
  </code></pre>
  
  <p>I get a <code>EXC_BAD_ACCESS</code> meaning the instance <code>_backingTextField</code> has been deallocated. I tried enabling zombie objects but when I do my app does not crash anymore. I get no logs, nothing. I couldn't reproduce using Instruments either.</p>
  
  <p>Another thing is that the object seems still to be in memory</p>
  
  <p><img src="https://i.stack.imgur.com/M4otT.png" alt="enter image description here"></p>
  
  <p>But that might just be because the pointer points to that location in memory and the memory hasn't been overwritten yet.</p>
  
  <p>Any idea what might be causing the problem?</p>
  
  <h1>EDIT</h1>
  
  <p>What's also weird is that <code>_backingTextField</code> is a strong reference. This shouldn't ever be released before the object itself gets released.</p>
  
  <h1>EDIT 2</h1>
  
  <p>What's worth nothing is that this method is called automatically by the <code>animator</code> proxy. </p>
  
  <pre><code>self.animator.xOffset = xOffset;
  </code></pre>
  
  <h1>EDIT 3</h1>
  
  <p>I just tried making <code>_backingTextField</code> a weak reference, not even that helps.</p>