use*_*901 0 cocoa-touch objective-c switch-statement ios
我正在尝试创建一个随机显示按钮上的字母的程序.我希望能够单击按钮(开始),程序将生成一个随机字母作为按钮的标题(letter1).
每次运行此程序时,它立即崩溃:
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
-(IBAction)start:(id)sender{
int randomNumber = rand() % 25;
switch (randomNumber){
case 0:
[letter1 setTitle:@"A" forState:UIControlStateNormal];
break;
case 1:
[letter1 setTitle:@"B" forState:UIControlStateNormal];
break;
case 2:
[letter1 setTitle:@"C" forState:UIControlStateNormal];
break;
case 3:
[letter1 setTitle:@"D" forState:UIControlStateNormal];
break;
case 4:
[letter1 setTitle:@"E" forState:UIControlStateNormal];
break;
case 5:
[letter1 setTitle:@"F" forState:UIControlStateNormal];
break;
case 6:
[letter1 setTitle:@"G" forState:UIControlStateNormal];
break;
case 7:
[letter1 setTitle:@"H" forState:UIControlStateNormal];
break;
case 8:
[letter1 setTitle:@"I" forState:UIControlStateNormal];
break;
case 9:
[letter1 setTitle:@"J" forState:UIControlStateNormal];
break;
case 10:
[letter1 setTitle:@"K" forState:UIControlStateNormal];
break;
case 11:
[letter1 setTitle:@"L" forState:UIControlStateNormal];
break;
case 12:
[letter1 setTitle:@"M" forState:UIControlStateNormal];
break;
case 13:
[letter1 setTitle:@"N" forState:UIControlStateNormal];
break;
case 14:
[letter1 setTitle:@"O" forState:UIControlStateNormal];
break;
case 15:
[letter1 setTitle:@"P" forState:UIControlStateNormal];
break;
case 16:
[letter1 setTitle:@"Q" forState:UIControlStateNormal];
break;
case 17:
[letter1 setTitle:@"R" forState:UIControlStateNormal];
break;
case 18:
[letter1 setTitle:@"S" forState:UIControlStateNormal];
break;
case 19:
[letter1 setTitle:@"T" forState:UIControlStateNormal];
break;
case 20:
[letter1 setTitle:@"U" forState:UIControlStateNormal];
break;
case 21:
[letter1 setTitle:@"V" forState:UIControlStateNormal];
break;
case 22:
[letter1 setTitle:@"W" forState:UIControlStateNormal];
break;
case 23:
[letter1 setTitle:@"X" forState:UIControlStateNormal];
break;
case 24:
[letter1 setTitle:@"Y" forState:UIControlStateNormal];
break;
case 25:
[letter1 setTitle:@"Z" forState:UIControlStateNormal];
break;
default:
[letter1 setTitle:@"&" forState:UIControlStateNormal];
break;
}
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激!!!!
您没有提供足够的信息来解释崩溃.但是你可以通过消除switch语句来大大缩短你的代码
-(IBAction)start:(id)sender
{
int randomValue = 'A' + arc4random_uniform(('Z' + 1) - 'A');
[letter1 setTitle: [NSString stringWithFormat:@"%c", randomValue]) forState:UIControlStateNormal];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
109 次 |
| 最近记录: |