2013-10-05 7 views
0

현재 SiteEvents 클래스 내에서 NSMutableArray (q)의 일부 점 객체가 있습니다. 아래 코드와 X : 0.0 Y : 0.0을 반환하는 값을 사용하여 값에 액세스하려고합니다. x와 y 값을 어떻게 구할 수 있습니까?NSMutableArray 내의 사용자 정의 클래스에서 값 가져 오기

NSLog(@"X: %f Y: %f",[(SitePoint*)[[SiteEvents q] objectAtIndex:i]x], 
         [(SitePoint*)[[SiteEvents q] objectAtIndex:i]y]); 

편집

이 방법은 위의 모두 함께했다. 오류는 SiteEvents 클래스 내에서 q을 합성하지 않았기 때문에 발생했습니다.

답변

0

편집 : 질문에 대한 오해를했을 수도 있습니다.

NSMutableArray* points = [siteEventInstance getPoints]; //if you're exposing the point list via a method. 
    float x = [points objectAtIndex: i].x; 

된 응답을

을 당신이 경우

당신이 포인트의 NSMutableArray를 보유하여 최고 수준의 객체로서 SiteEvents을 가정하면, 이것은 당신이해야합니다 것입니다 SitePoint 객체의 배열을 가지고 있다면 다음과 같이 배열에 색인을 생성하여 사이트 포인트 객체에 액세스 할 수 있습니다.

SitePoint* s = (SitePoint*) [q objectAtIndex:i]; 

그러면 's'내의 포인트 객체에 도착해야합니다. 이것은 SitePoint 내에서 포인트 객체를 노출 한 방법에 따라 다릅니다.

float x = s.point.X; //If point is a property or a field do this 

    float x = [s getPoint].X; //If the point object is exposed via a method. 

같이 (당신이해야 할 시도로) 당신은 위의 모든 개념을 결합 할 수 있습니다 :

float x = ((SitePoint*) [q objectAtIndex:i]).point.X; //if point is a property or a field 

    float x = [((SitePoint*) [q objectAtIndex:i]) getPoint].X; //If the point object is exposed via a method. 

참고 : 나는 ;-) 개방

+0

을 X-코드를하지 않고 쓴 'q'는 SiteEvents라는 사용자 지정 개체 내에 있으므로 SitePoint * s = (SitePoint *) [[SiteEvents q] objectAtIndex : i]; 하지만 내가 아무 것도하지 않는 방법을 호출하려고하면 .. –

+0

아, 오해, 편집이 이루어졌습니다. –

+0

q를 [SiteEvents q]로 바꾸고 SiteEvents 클래스에서 'q'를 합성했을 때 기존 응답이 효과가있었습니다 ... Mac에서 합성 할 필요가 없다고 생각했지만 그저 iOS 일 뿐이라고 생각했습니다. –

관련 문제