3

我正在寻找保存用于一种方法的变量,然后在另一种方法中为 App 调用它。这与全局/外部/静态变量有关吗?如果是这样,我想知道它将如何设置。我尝试使用全局和静态但没有成功。

我正在尝试保存 newX 和 newY 的信息

-(void) accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
{
...
    int newX = (int)(Button.center.x + valueX);
    int newY = (int)(Button.center.y + valueY);
...
}

然后调用它

-(IBAction)clicked:(id)sender

{
    randX = arc4random() % 320;
    randY = arc4random() % 548;

    CGPoint randNewPlace = CGPointMake(randX, randY);
    Rand.center = randNewPlace;



    if (newX == randX || newY  == randY)
    {
        [Rand sendActionsForControlEvents:UIControlEventTouchUpInside];
    }
}

谢谢。

4

3 回答 3

2

只需执行以下操作

声明属性

@property(nonatomic,weak) int newX;
@property(nonatomic,weak) int newY;

-(void) accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
{
...
    self.newX = (int)(Button.center.x + valueX);
    self.newY = (int)(Button.center.y + valueY);
...

}

-(IBAction)clicked:(id)sender

{
   randX = arc4random() % 320;
   randY = arc4random() % 548;

   CGPoint randNewPlace = CGPointMake(randX, randY);
   Rand.center = randNewPlace;

   if (self.newX == randX || self.newY  == randY)
   {
      [Rand sendActionsForControlEvents:UIControlEventTouchUpInside];
   }
}
于 2013-03-27T18:09:20.953 回答
1

如果您想定义一个不变的常量变量,请在 .h 和 .m 中定义它

例如,如果我想在我的 .h 中将黑色定义为十六进制字符串,我将其放在@interface上方。

// Default Black
extern NSString * const Black;

然后在我的.m 上面@implementation

// Default Black
NSString * const Black      = @"0xFF000000";

每当我调用变量Black时,就会出现0xFF000000 当然你可以定义任何类型的变量,它不必是 NSString。extern只是将变量暴露给应用程序的其余部分。

希望有帮助!

于 2013-03-27T18:13:54.067 回答
0

@property (nonatomic) int newX,newY;

要访问它们,只需实例化类,然后使用点表示法。类.newX

于 2013-03-27T18:07:52.397 回答