我目前在q
类中的NSMutableArray(名为SiteEvents
)中有一些点对象。我正在尝试使用下面的代码访问值,它只返回X:0.0 Y:0.0。我怎样才能得到x和y值?
NSLog(@"X: %f Y: %f",[(SitePoint*)[[SiteEvents q] objectAtIndex:i]x],
[(SitePoint*)[[SiteEvents q] objectAtIndex:i]y]);
修改
上述方法一直都有效。该错误是由于未在q
类中合成SiteEvents
。
答案 0 :(得分:0)
编辑:我想我可能误解了你的问题。
假设您将SiteEvents作为顶级对象,其中包含一个NSMutableArray点,这就是您需要做的事情:
NSMutableArray* points = [siteEventInstance getPoints]; //if you're exposing the point list via a method.
float x = [points objectAtIndex: i].x;
旧回复
如果您有一个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.
注意:我写的没有打开x代码; - )