0

每次单击按钮时,我想将 1 添加到我的变量中,但会出现一个 10 位数字。我在下面的代码中做错了什么?

-(IBAction)recordData:(id)sender {
int randomNumber;
randomNumber = randomNumber + 1;
NSString *myRandomNumber = [NSString stringWithFormat:@"%i", randomNumber];
NSString *CompleteData = [[NSString alloc] initWithFormat:DataView.text];
CompleteData = [CompleteData stringByAppendingString: @"\n"];
CompleteData = [CompleteData stringByAppendingString:myRandomNumber];
DataView.text = CompleteData;
}
4

2 回答 2

1

制作

int randomNumber 

要么是静态的,要么将其声明为实例变量。

您当前正在做的是每次调用 recordData 时创建一个新变量。另外,您不初始化它。局部变量未初始化。实例变量用 0/nil 初始化。结果,您的变量具有一些随机内容(正如其名称所暗示的那样:)。对该随机值加 1。

于 2013-02-13T23:11:12.230 回答
0
  1. 您的变量未初始化:int randomNumber = 0将解决该问题。
  2. randomNumber的范围是recordData:方法。您可以将其设为由holex 建议的静态变量,或者更好的是,将其设为您的类的属性。

查看Apple 的 Objecitve-c 文档中的封装数据以了解有关 iVar 和属性的更多信息。

于 2013-02-13T23:11:04.800 回答