将数据添加到NSMutableArray时出现问题

时间:2010-06-03 21:04:42

标签: cocoa-touch xcode nsmutablearray

我正在尝试将值playhight和其他值添加到NSMutableArray中,但它不会让我构建,我无法弄清楚原因。

#import "iGameViewController.h"

@implementation iGameViewController

@synthesize player;

    int playerheight;

NSMutableArray *location = [NSMutableArray arrayWithCapacity:3];

-(IBAction)up;{
    player.center = CGPointMake(player.center.x, player.center.y - 5);
    location = [NSMutableArray new];
[location addObject:player.center.x];
[location addObject:player.center.y];
[location addObject:playerheight];

}

3 个答案:

答案 0 :(得分:2)

您只能在Objective-C中向对象添加对象。 player.center是一个结构,player.center.xCGFloat,它们都不是对象。如果要将点添加为单个对象,可以将其装入NSValue对象中。如果要直接添加浮动,则必须将它们装入NSNumber个对象中。

答案 1 :(得分:1)

这条线需要什么?

 location = [NSMutableArray new];

Dave已经解释了其余部分。

答案 2 :(得分:1)

playerheightlocation应该是实例变量,在.h文件中声明,然后在init方法中设置。您无法以这种方式初始化全局Objective-C对象。如果你真的希望它是全局的,你可以将其初始化为nil,然后每次都需要它,检查以确保它已被创建而不是创建它。