2014-06-07 19 views
0
`- (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

感谢。

回答

2
  1. 使此变量成为您班级的成员。即声明它里面@interface部分,并为其分配0内部viewDidLoad就像这样:pushUpCount = 0;

  2. 不要使用它作为一个指针(我敢肯定它不是你所需要的)。声明而不是将其NSInteger pushUpCount;NSInteger *pushUpCount;

  3. 里面imPressed只是增加它pushUpCount++;

为了确保你明白了一切,我会解释很简单:

YourViewController.h文件你@interface节应包含变量声明:

@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); 
} 
+0

我真的不立下你的意思,但我改变了它,我得到的指针(至少我认为它的变量的指针)中的NSLog打印出来。我已经更新了我的问题,你能否解释更多。 – ruthless

+0

你究竟得不到什么? –

+0

没关系你更新了你的答案,它帮助了我很多。我得到你所做的感谢。 – ruthless

相关问题