ここで構造体に値を入力しています:
[self createEntityWithX:20 andY:20 withType:0 withWidth:20 andLength:20 atSpeed:5];
...
...
-(void)createEntityWithX:(int)newEntityX andY:(int)newEntityY withType:(int)newEntityType withWidth:(int)newEntityWidth andLength:(int)newEntityLength atSpeed:(int)newEntitySpeed
{
  Entity tmpEntity;
  tmpEntity.entityX = newEntityX;
  tmpEntity.entityY = newEntityY;
  tmpEntity.entityLength = newEntityLength;
  tmpEntity.entityWidth = newEntityWidth;
  tmpEntity.entityType = newEntityType;
  tmpEntity.entitySpeed = newEntitySpeed;
  NSValue *tmp = [NSValue valueWithBytes:&tmpEntity objCType:@encode(struct Entity)];
  [entityArray addObject:tmp];
}
-(Entity)retreiveEntityFromValue:(NSValue *)value
{
  Entity entity1;
  [value getValue:&entity1];
  return entity1;
}
そして、私がそれを取り戻すとき、データはスクランブルされていますか?X:20 Y:20 Width:20でエンティティを作成し、x:1712736 Y:0 Width:0?Xは完全にランダムですが、残りは0のままです
どこが間違っているのですか?