-1

我已经对此进行了相当广泛的搜索,但没有运气,我很确定它微不足道。

本质上,一个水晶球型应用程序。我有:

self.predictionArray = [[NSArray alloc] initWithObjects:
                        @"Example 1",    
                        @"example 10000", nil];

还有一个“magic8”按钮,当我点击它时,它会选择:

- (IBAction)buttonPressed:(UIButton *)sender {
NSUInteger index = arc4random_uniform(self.predictionArray.count);
self.predictionLabel.text = [self.predictionArray objectAtIndex:index];}

这一切都很完美,网上有很多关于它的东西。

我想做的事:

有 3 个这样的阵列和 3 个按钮。该按钮只需选择相应的 NSArray,然后按“magic8”按钮。

似乎它应该相当简单,我了解我当前代码中发生的事情,但我无法终生弄清楚如何去做。我肯定没有经验。

非常感谢任何可以提供任何建议的人。我真的不想浪费任何人的时间,我没有运气搜索,我想也许需要知识渊博的人 1 分钟来解释如何去做。

4

2 回答 2

1

一个简单(但不是最好)的解决方案是在界面构建器中为您的 3 个按钮提供标签 0、1、2。然后将您的设置predictionArray为:

@[   @[ @"button 0 123", @"button 0 456" ],
     @[ @"button 1 123", @"button 1 456" ],
     @[ @"button 2 123", @"button 2 456" ]]

然后在您的buttonPressed方法中,您将根据您的按钮标签选择子数组:

- (IBAction)buttonPressed:(UIButton *)sender {
    if (sender.tag >= 0 && sender.tag < self.predictionArray.count) {
        NSArray *predictionArray = self.predictionArray[sender.tag];
        NSUInteger index = arc4random_uniform(predictionArray.count);
        self.predictionLabel.text = [predictionArray objectAtIndex:index];
    }
}
于 2013-07-05T14:17:00.127 回答
0

如果你真的想做 3 个按钮的事情:

- (IBAction) buttonAction:(UIButton *) b
{
switch(b.tag)
{
case 1:
{
self.predictionArray = nil;
self.predictionArray = [[NSArray alloc] initWithObjects:
                    @"Example 1",    
                    @"example 10000", nil];
}
break;

 case 2:
{
self.predictionArray = nil;
self.predictionArray = [[NSArray alloc] initWithObjects:
                    @"Example 2",    
                    @"example 20000", nil];
 }

break;
case 3:
{
self.predictionArray = nil;
self.predictionArray = [[NSArray alloc] initWithObjects:
                    @"Example 3",    
                    @"example 30000", nil];
 }

break; 
default:
break;
 }

- (IBAction)buttonPressed:(UIButton *)sender {
NSUInteger index = arc4random_uniform(self.predictionArray.count);
self.predictionLabel.text = [self.predictionArray objectAtIndex:index];
}
于 2013-07-05T14:16:44.250 回答