从NSMutableArray中的自定义类获取值

时间:2013-10-05 18:25:40

标签: objective-c nsmutablearray

我目前在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

1 个答案:

答案 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代码; - )