Objective c 在变量末尾添加int

Objective c 在变量末尾添加int,objective-c,apple-watch,watchos,Objective C,Apple Watch,Watchos,我在一个名为的视图中有16个按钮: @property (strong, nonatomic) IBOutlet WKInterfaceButton *bb1; @property (strong, nonatomic) IBOutlet WKInterfaceButton *bb2; @property (strong, nonatomic) IBOutlet WKInterfaceButton *bb3; @property (strong, nonatomic) IBOutlet WKIn

我在一个名为的视图中有16个按钮:

@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb1;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb2;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb3;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb4;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb5;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb6;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb7;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb8;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb9;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb10;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb11;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb12;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb13;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb14;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb15;
@property (strong, nonatomic) IBOutlet WKInterfaceButton *bb16;
我想在switch语句中根据不同的条件设置图像的背景。所以我要做的是我有一个for循环

 for (int i=1; i<=16; i++) {
int val = [(NSNumber *)[self.valuesArray objectAtIndex:i] intValue];
    NSString *newString = [NSString stringWithFormat:@"bb%d",i];
    switch (val) {
                case 4:
                    [**self.bb%d** setBackgroundImageNamed:@"s"];
                    break;

                default:
                    break;
            }
    }

for(inti=1;i如果您不希望应用程序的结构发生太多变化,可以这样做

  • 尝试将所有16 WKInterfaceButton对象放入initWithCoder方法中的NSMutableArray中。(如果需要,请将此数组设置为全局数组)

  • 在switch语句的特定情况下,按索引获取对象,然后设置其背景图像

    for (int i=1; i<=16; i++) {
    int val = [(NSNumber *)[self.valuesArray objectAtIndex:i] intValue];
    NSString *newString = [NSString stringWithFormat:@"bb%d",i];
     switch (val) {
            case 4:
                [((WKInterfaceButton *)[_btnArray objectAtIndex:i-1]) setBackgroundImageNamed:@"s"];
                  break;
    
              default:
                  break;
           }
       }
    

    for(int i=1;i为什么您不拥有父视图的引用,并为每个按钮分配一个标记,并在需要时按标记号从引用的视图中获取它们?@Hamdullahshah使用标记进行视图标识是一种反模式。@Hamdullahshah虽然这对iOS有效,
    WKInterfaceObject
    没有标记属性。
    for (int i=1; i<=16; i++) {
    int val = [(NSNumber *)[self.valuesArray objectAtIndex:i] intValue];
    NSString *newString = [NSString stringWithFormat:@"bb%d",i];
     switch (val) {
            case 4:
                [((WKInterfaceButton *)[_btnArray objectAtIndex:i-1]) setBackgroundImageNamed:@"s"];
                  break;
    
              default:
                  break;
           }
       }