我有一个班级编号,它有一个属性“randnum”,可以生成一个随机数。我想将UIButton的标题设置为此随机数,但它不起作用。请指出一种方法吗?
randnum属性: -
-(void)setRandnum:(NSString *)randnum
{
_randnum=randnum;
NSArray *nums = @[@"0", @"1", @"2", @"3", @"4", @"5",@"6",@"7",@"8",@"9"];
unsigned index=arc4random()%10;
NSString* num = [NSString stringWithFormat:@"%@", [nums objectAtIndex:index]];
_randnum=num;
}
这是我尝试在ViewController中设置按钮标题的方法: -
这里的数字是一个出口集合: @property(强,非原子)IBOutletCollection(UIButton)NSArray *数字;
这是UIButton的数字;
-(void)setNumbers:(NSArray *)numbers
{
_numbers=numbers;
for (UIButton* button in self.numbers) {
Number * number=[[Number alloc]init];
[button setTitle:number.randnum forState:UIControlStateNormal];
}
}
答案 0 :(得分:0)
为什么你需要它作为一个类,为什么不把它作为一个函数使用?其简单的随机功能。使用它作为一个可以工作的功能。
如果类只是解决方案,请不要覆盖setter方法。只需将其添加为一个功能。它会工作。我试过这两种情况它工作正常。
答案 1 :(得分:0)
查看您的代码,您没有在任何地方设置randnum,请尝试以下代码
-(void)setNumbers:(NSArray *)numbers
{
_numbers=numbers;
for (UIButton* button in self.numbers) {
Number * number=[[Number alloc]init];
[number setRandnum:nil];
[button setTitle:number.randnum forState:UIControlStateNormal];
}
}
然而,这似乎并不是实现你想要达到的目标的最合适方式。