title: setValuesForKeysWithDictionary in NSMutableDictionary is Crashing
body: <p>I have a method <code>updateTraits</code> in which I try to update the variable <code>traits</code> by using <code>setValuesForKeysWithDictionary</code> and during this, the crash is happening.</p>
  <p><code>traits</code> is defined as shown below:</p>
  <p><code> @property (nonatomic, readwrite) NSMutableDictionary&lt;NSString*, NSObject*&gt;* traits;</code></p>
  <p><code>UpdateTraits</code> is defined as shown below:</p>
  <pre><code>    - (void)updateTraits:(RSTraits *)traits {
      if(traits == nil) {
          traits = [[RSTraits alloc] init];
          traits.anonymousId = [preferenceManager getAnonymousId];
          [_traits removeAllObjects];
      }
       // crash is happening on this line here
      [_traits setValuesForKeysWithDictionary:[traits dict]];
     }
  </code></pre>
  <p>Note: I am trying to call the <code>updateTraits</code> method from a background thread.</p>
  <p>Can anyone point out what exactly I am doing wrong? Thanks in Advance.</p>
  <p>Crash message: <code>EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)</code></p>
  <p><a href="https://i.stack.imgur.com/kidHG.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/kidHG.png" alt="Crash Description" /></a></p>