我对iOS开发很新,我可能看起来像个白痴问这个。 但尝试此操作会使应用完全崩溃。
- (IBAction)action:(id)sender
{
if(NSInteger >= 4) {
timer = [NSTimer scheduledTimerWithTimeInterval:1.0
target:self selector:@selector(countup)userInfo:nil repeats:YES];
NSLog(@"Action: ‘action' succeeded");
}
else
{
[screen setText:[NSString stringWithFormat:@“You cannot do this."]];
NSLog(@"Action: ‘action' failed");
}
}
Countup定义为:
- (void)countup
{
NSInteger += 1;
[screen setText:[NSString stringWithFormat:@"Seconds: %d", NSInteger]];
}
我不知道我做错了什么,我已经尝试了几个小时修复它,我找不到任何能帮助我的答案。
答案 0 :(得分:1)
我认为,你至少有一些其他语言的计算机编程知识,然后是Objective-C。
我将讨论这一行,但代码中的几行中出现同样的问题
if(NSInteger >= 4)
将NSInteger类型与数字(4)进行比较。我假设您想要将NSInteger类型的变量与数字4进行比较!
因此,您的代码看起来像这样:
NSInteger mySavedNumber = 20;
if(mySavedNumber >= 4)
OFC。 ' mySavedNumber'是我随机选择的变量的名称,您应该更改它以获取对您有用的内容,但我不知道您的其余代码,我无法真正告诉您想要的内容做。但你不能将它命名为NSInteger,因为' NSInteger'是一个已经采取的名称。
出于与我所说的相同的原因,这行代码也不起作用:
NSInteger += 1;
同样,NSInteger只是一种类型而不是变量本身。
答案 1 :(得分:0)
您需要使用变量。
NSInteger x;
然后
if (x >= 4) ...
[NSString stringWithFormat:@"Seconds: %d", x] ...
答案 2 :(得分:0)
老兄你需要创建一个NSInteger类型的变量。创建一个变量,然后使用它而不是NSInteger。
将代码更改为
-(IBAction)action:(id)sender
{
NSInteger num;
if(num >= 4) {
timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(countup)userInfo:nil repeats:YES];
NSLog(@"Action: ‘action' succeeded");
}
else {
[screen setText:[NSString stringWithFormat:@“You cannot do this."]];
NSLog(@"Action: ‘action' failed");
}
}
-(void)countup
{
num += 1;
[screen setText:[NSString stringWithFormat:@"Seconds: %d", num]];
}
答案 3 :(得分:0)
NSInteger
是一种不是变量的类型。
您应该NSInteger myInt
和使用myInt
if(myInt >= 4)
和
myInt++;