0

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

编辑

上述方法一直有效。错误是由于没有qSiteEvents类内合成..

4

1 回答 1

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 代码的情况下写了这个 ;-)

于 2013-10-05T18:47:46.523 回答