Я работаю в target-c и выделяю динамический массив с плавающей точкой, но размер зависит от размера другого массива.Таким образом, мои ассигнования выглядят примерно так:
float myFloats[[myArray count]];
Все работает нормально, за исключением случаев, когда я выполняю аналитическую сборку в xcode.При использовании элемента массива вы получаете сообщение типа «Правильный операнд - это мусор»в учетную запись.
Кто-нибудь знает, как это сделать правильно?
NSRect actualSuperFrame = [self frame];
//Here I initialize the float array.
float clicksFromMiddle[[self.plannerViewArray count]];
NSRect actualPlannerFrame[[self.plannerViewArray count]];
PlannerView *plannerView;
for(int i = 0; i < [self.plannerViewArray count];i++){
plannerView = [self.plannerViewArray objectAtIndex:i];
actualPlannerFrame[i] = [plannerView frame];
//Below is where the values are set.
if (plannerView.isLeftPage) {
clicksFromMiddle[i] = (actualSuperFrame.origin.x + (actualSuperFrame.size.width/2.0))-NSMaxX(actualPlannerFrame[i]);
}
else{
clicksFromMiddle[i] = (actualPlannerFrame[i].origin.x-(actualSuperFrame.origin.x + (actualSuperFrame.size.width/2.0)));
}
}
[super setFrame:frameRect];
NSRect modifiedPlannerFrame[[self.plannerViewArray count]];
for(int i = 0; i < [self.plannerViewArray count];i++){
plannerView = [self.plannerViewArray objectAtIndex:i];
modifiedPlannerFrame[i] = [plannerView frame];
if(plannerView.isLeftPage){
//This next line is where I get the message, right operand of "-" is garbage value
float newMaxX = (frameRect.origin.x +(frameRect.size.width/2.0))-clicksFromMiddle[i];
float newWidth = newMaxX-modifiedPlannerFrame[i].origin.x;
[plannerView setFrame:NSMakeRect(modifiedPlannerFrame[i].origin.x, modifiedPlannerFrame[i].origin.y,newWidth , modifiedPlannerFrame[i].size.height)];
}
