2012-07-22 6 views
2

CGpoint의 NSMUtableArray를 만들었으며 NSValue로 하위 클래스로 저장하여 저장했지만 값을 가져올 수 없습니다. 여기 내가 뭘했는지.NSValue의 A mutableArray에서 CGPoint 값을 인출 할 수 없습니다.

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]]; 

} 

나는 값을 얻기 위해 이것을 사용하여 시도하지만 난 그냥 객체가 아닌 것처럼 당신의 %@ 형식 지정자를 사용하여 CGPoint 인쇄 할 수 없습니다 널 다시

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

코드가 충돌하지 않는 것은 기적입니다. –

답변

4

얻을. 대신 NSStringFromCGPoint()을 사용하십시오.

NSLog(@"%@", NSStringFromCGPoint(myPoint)); 
+0

작동하는 것처럼 보이지만 NSStringFromPoint에 대한 암시 적 선언 경고가 표시됩니다. –

+0

@TerrelGibson에 UIKit/AppKit을 포함 시켰습니까? 코드는 여전히 정상적으로 작동하지만 경고는 결코 좋지 않습니다. –

+0

파일 이름을 찾을 수 없다는 오류가 발생하여 #include "UIKit/AppKit"을 수행합니까? –