我有一个application
,您按下button
,当您按下按钮时,标签会随机变换。但是当我按下按钮时,label
消失了。
我该怎么办?
这是代码:
if (sender == self.button) {
NSString*path = [[NSBundle mainBundle]pathForResource:@"wordss" ofType:@"plist"];
words = [[NSMutableArray alloc]initWithContentsOfFile:path];
[self.randomLabel setText:[self.words objectAtIndex:arc4random_uniform([self.words count])]];
}
答案 0 :(得分:0)
标签没有消失问题是你设置空字符串,因为所选的随机值返回空值。
NSString*path = [[NSBundle mainBundle]pathForResource:@"wordss" ofType:@"plist"];
words = [[NSMutableArray alloc]initWithContentsOfFile:path];
NSLog("%@",words);
NSString *string = [NSString stringWithFormat:[self.words objectAtIndex:((arc4random() % [self.words count]) + 0)]]
NSLog("%@",string);
[self.randomLabel setText:string];
检查nslog语句是否为空
答案 1 :(得分:0)
你检查了输出:
arc4random_uniform([self.words count])
而且,因为label可以使用NSString,所以你需要将int转换回NSString。所以,这样做:
NSString *myGeneratedRandNumber = [NSString stringWithFormat:@"%d", arc4random_uniform([self.words count])];
然后,将此字符串设置为您的标签,如下所示:
[myLabel setText:myGeneratedRandNumber];
另请注意,使用此功能:
以下内容将生成0到73之间的数字。
arc4random_uniform(74);