有什么方法可以简化这种方法?也许在一个for循环中将&&两个语句一起使用的方法?

// Enable valid decimal buttons
- (IBAction)enableDecimalValues
{
    for(UIButton *decimalButton in nonOctalValueCollection)
    {
        decimalButton.enabled = YES;
        [decimalButton setAlpha:1];
    }

    for(UIButton *decimalButton in nonBinaryValueCollection)
    {
        decimalButton.enabled = YES;
        [decimalButton setAlpha:1];
    }
}

最佳答案

本质上,您的代码没有什么“错误”。您所拥有的是清晰;读者可以快速看到并了解正在发生的事情。

替代方案需要分配内存和复制对象,只需要一个循环即可。但是最终,性能会变差(严格来说)。

但是,如果您坚持要这样做的话:

NSMutableArray *buttons = [[[NSMutableArray alloc] initWithArray:nonOctalValueCollection] autorelease];
[buttons addObjectsFromArray:nonBinaryValueCollection];

for(UIButton *decimalButton in buttons)
{
    decimalButton.enabled = YES;
    [decimalButton setAlpha:1];
}


(如果使用的是ARC,请不要使用autorelease。)

09-07 12:13