如何在代码的另一部分中使用变量?

时间:2014-06-07 16:51:06

标签: cocoa-touch

`- (void)viewDidLoad{
   [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    NSInteger *pushUpCount;
 }

`- (IBAction)imPressed:(id)sender {
   NSInteger pushUpCount = pushUpCount + 1;
   NSString *strPushUp = [NSString stringWithFormat:@"%d", pushUpCount];
   NSLog(strPushUp);
   }

我的问题不是说它没有声明pushUpCount。所以我想知道如何制作这个" public",以便所有函数或IBActions都能使用这个变量。我知道问题是什么,我不知道如何解决它。


代码解释 我在这里所做的就是将变量设置为0.在用户执行任何操作之前。然后每次按下按钮,它将向现有数字添加1。然后我会将NSTextField的文字改为数字,但我知道该怎么做。(或者我认为我至少做过)。

所以我的基本问题是.....我如何在另一个函数或IBAction

中重用变量

提前致谢。

1 个答案:

答案 0 :(得分:2)

  1. 将此变量设为您班级的成员。即在@interface部分中声明它并在viewDidLoad内将其指定为0,如下所示:pushUpCount = 0;

  2. 不要将它用作指针(我很确定它不是你需要的)。声明NSInteger pushUpCount;而不是NSInteger *pushUpCount;

  3. imPressed内加注pushUpCount++;

  4. 为了确保你理解一切,我会解释它非常简单:

    @interface文件中的YourViewController.h部分应包含变量声明:

    @interface YourViewController : UIViewController
    {
        NSInteger pushUpCount;
    }
    @end
    

    现在您的代码如下:

    - (void)viewDidLoad{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
      pushUpCount = 0;
    }
    
     - (IBAction)imPressed:(id)sender {
    pushUpCount++;
    NSString *strPushUp = [NSString stringWithFormat:@"%d", pushUpCount];
    NSLog(strPushUp);
     }