我希望保存一个用于一个方法的变量,然后在另一个方法中为App调用它。这是否与global / extern / static变量有关?如果是这样,我想知道它将如何设置。我试图使用全局和静态但没有成功。
我试图保存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];
}
}
感谢。
答案 0 :(得分: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];
}
}
答案 1 :(得分:1)
如果要定义一个不变的常量变量,请在.h和.m
中定义它例如,如果我想在我的.h中将黑色定义为十六进制字符串,我将其放在 @interface 之上。
// Default Black
extern NSString * const Black;
然后在我的.m上方 @implementation
// Default Black
NSString * const Black = @"0xFF000000";
每当我调用变量黑色时,输出 0xFF000000
当然,您可以定义任何类型的变量,它不必是NSString。 extern
只是将您的变量公开给应用程序的其余部分。
希望有所帮助!
答案 2 :(得分:0)
@property(nonatomic)int newX,newY;
要访问它们只是实例化该类,然后使用点表示法。 Class.newX