使用数字设置按钮的标题

时间:2014-06-22 11:02:13

标签: objective-c uibutton

我有一个班级编号,它有一个属性“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];
        }
    }

2 个答案:

答案 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];
    }
}

然而,这似乎并不是实现你想要达到的目标的最合适方式。