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

在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 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64