保存用作方法的变量,然后在另一个方法中调用。
实现时会不会用到全局/外部/静态变量?如果需要应该怎么用?
我试过用全局和静态,但是都失败了。
代码中用来保存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];
}
}
你是做Android转iOS的么?在Objc中没有Java里全局变量的这个概念,只能够通过单例实现类似的效果。
创建一个GloubVariables
对象保存需要保存的内容:
//////////////////////////////////////////////////////////////////////////
GloubVariables.h
@interface GloubVariables : NSObject
{
int newX;
int newY;
}
@property(assin,nonatomic) int newX;
@property(assin,nonatomic) int newY;
+(GloubVariables *)sharedInstance;
@end
//////////////////////////////////////////////////////////////////////////
GloubVariables.m
#import "GloubVariables.h"
@implementation GloubVariables
@synthesize newX;
@synthesize newY;
static GloubVariables *instance_;
+(GloubVariables *)sharedInstance
{
@synchronized(self)
{
if(instance_ == nil)
{
instance_ = [[GloubVariables alloc] init];
}
}
return instance_;
}
@end
//////////////////////////////////////////////////////////////////////////
然后需要用到的地方:
[GloubVariables sharedInstance].newX
[GloubVariables sharedInstance].newY
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。