2010-06-03 39 views
0

我想將值playerhight和其他值添加到NSMutableArray,但它不會讓我生成,我不明白爲什麼。添加數據到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]; 

} 

回答

2

只能將對象添加到Objective-C中的數組中。 player.center是一個結構,並且player.center.xCGFloat,它們都不是對象。如果要將點添加爲單個對象,則可以將其放入一個NSValue對象中。如果您想直接添加浮動物,則必須將其裝入NSNumber對象中。

1

你需要這行嗎?

location = [NSMutableArray new]; 

其餘的已經由戴夫解釋。

1

playerheightlocation應該是實例變量,在.h文件中聲明,然後將其設置在init方法中。您不能以這種方式初始化全局Objective-C對象。如果你真的希望它是全局的,你可以將它初始化爲零,然後每次都需要它,檢查並確保它已經創建並且不會創建它。