MapMapM 2013-03-28 02:16 采纳率: 0%
浏览 5304
已采纳

在objective-c中使用全局/静态变量

保存用作方法的变量,然后在另一个方法中调用。
实现时会不会用到全局/外部/静态变量?如果需要应该怎么用?

我试过用全局和静态,但是都失败了。

代码中用来保存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];
    }
}
  • 写回答

2条回答 默认 最新

  • 哈希Map 2013-03-28 02:36
    关注

    你是做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
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 用verilog实现tanh函数和softplus函数
  • ¥15 Hadoop集群部署启动Hadoop时碰到问题
  • ¥15 求京东批量付款能替代天诚
  • ¥15 slaris 系统断电后,重新开机后一直自动重启
  • ¥15 QTableWidget重绘程序崩溃
  • ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊
  • ¥15 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站