title: NSMutableArray is not storing data properly into the loop
body: <p>I try to store some <code>NSMutableDictionaries</code> into an <code>NSMutableArray</code> throw a for loop:</p>
  
  <pre><code>NSMutableArray *productsIdAndQuantities = [[NSMutableArray alloc]init];
  NSMutableDictionary *element = [[NSMutableDictionary alloc]init];
  
  for (id object in shoppingArray) {
      [element setObject:[object valueForKey:@"proId"] forKey:@"id"];
      [element setObject:[object valueForKey:@"qty"] forKey:@"quantity"];
      NSLog(@"%@",element);//tested, it's different on every iteration
      [productsIdAndQuantities addObject:element];
  }
  </code></pre>
  
  <p>After the loop end, I try to debug the <code>productsIdAndQuantities</code>, and just came out that it contains the exact numbers of items looped above, BUT with one value.</p>
  
  <p>Here is what I mean:</p>
  
  <p>Inside the loop (<code>NSLog(@"%@",element);</code>):</p>
  
  <pre><code>{
      id = 13293;
      quantity = "-2";
  }
  {
      id = 12632;
      quantity = "-5";
  }
  </code></pre>
  
  <p>After the loop (<code>NSLog(@"%@",productsIdAndQuantities);</code>same value!!!!!):</p>
  
  <pre><code>(
      {
          id = 12632;
          quantity = "-5";
      },
      {
          id = 12632;
          quantity = "-5";
      }
  )
  </code></pre>