Я пытаюсь повысить производительность своего приложения, и я хотел бы перейти от NSMutableArray, который я сейчас использую, к динамически размещаемому массиву C.
В качестве теста я создал этот класс:
В моем интерфейсе класса у меня есть:
MyObject *myObjectArray;
В моей реализации, после инициализации объекта, у меня есть другой метод для установки массива:
-(void) createObjectsWithNumberOfObjects:(int)numberOfObjects
{
MyObject *tempObject = nil;
myObjectArray = (MyObject*) malloc(numberOfObjects * sizeof(tempObject));
for( int i = 0; i < numberOfObjects; i++ )
tempObject = [[MyObject alloc] init];
myObjectArray[i] = (MyObject*) tempObject; // error
}
}
Я получаю сообщение об ошибке:
Несовместимые типы в назначении
Так что я делаю не так?
Возможно ли использование динамически размещенного массива объектов, подобных этому?
Кроме того, в моем методе dealloc он настроен так, чтобы вызывать release для каждого объекта, а затем free (myObjectArray)