Невозможно извлечь значения CGPoint из изменяемого массива NSValue

Я создал NSMUtableArray для CGpoints и сохранил их, создав подклассы как NSValue, но я не могу вывести значения. вот и я что сделал.

 CGPoint graphPoint;
    NSMutableArray *pointValues = [[NSMutableArray alloc] init];

    for( int x =0;x<5; x++)
    {
    NSDictionary* xValue = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:x] forKey:@"X"];
    graphPoint.x =x;
    graphPoint.y = [CalculatorBrain runProgram: self.graphingPoint usingVariableValues:xValue];

    [pointValues addObject:[NSValue valueWithCGPoint:graphPoint]];

}

Я пытался использовать это, чтобы получить значения, но я просто вернул ноль

for( int x=0; x<5; x++) {
NSValue *val = [pointValues objectAtIndex:x];
CGPoint point = [val CGpointValue];
NSLog(@"Points = %@", point);
}

1 ответ

Решение

Вы не можете распечатать CGPoint с использованием %@ спецификатор формата, так как это не объект. Вместо этого используйте NSStringFromCGPoint():

NSLog(@"%@", NSStringFromCGPoint(myPoint));
Другие вопросы по тегам