Objective c 使用数字设置按钮的标题

Objective c 使用数字设置按钮的标题,objective-c,uibutton,Objective C,Uibutton,我有一个类number,它有一个属性randnum,它生成一个随机数。我想将UIButton的标题设置为这个随机数,但它不起作用。请指出一个方法 randnum属性:- -(void)setRandnum:(NSString *)randnum { _randnum=randnum; NSArray *nums = @[@"0", @"1", @"2", @"3", @"4", @"5",@"6",@"7",@"8",@"9"];

我有一个类number,它有一个属性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中设置按钮标题的方式:-

以下是一个门店系列: @属性强,非原子IBOutletCollectionUIButton 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];
        }
    }

为什么你需要它作为一个类,为什么不把它作为一个函数呢?它是简单的随机函数。将其作为一个函数使用,它将起作用


若类是唯一的解决方案,则不要重写setter方法。只需将其作为函数添加即可。它会起作用的。我尝试了这两种情况,效果都很好。

查看您的代码,您没有在任何地方设置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];
    }
}

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

非常感谢,但我不明白房地产到底出了什么问题。