我正在尝试将值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];
}
答案 0 :(得分:2)
您只能在Objective-C中向对象添加对象。 player.center
是一个结构,player.center.x
是CGFloat
,它们都不是对象。如果要将点添加为单个对象,可以将其装入NSValue
对象中。如果要直接添加浮动,则必须将它们装入NSNumber
个对象中。
答案 1 :(得分:1)
这条线需要什么?
location = [NSMutableArray new];
Dave已经解释了其余部分。
答案 2 :(得分:1)
playerheight
和location
应该是实例变量,在.h文件中声明,然后在init
方法中设置。您无法以这种方式初始化全局Objective-C对象。如果你真的希望它是全局的,你可以将其初始化为nil,然后每次都需要它,检查以确保它已被创建而不是创建它。