2014-10-11 66 views
-1

我从通过标签迭代

@property (strong, nonatomic) IBOutlet UILabel *lastNumber0; 
@property (strong, nonatomic) IBOutlet UILabel *lastNumber1; 
@property (strong, nonatomic) IBOutlet UILabel *lastNumber2; 
@property (strong, nonatomic) IBOutlet UILabel *lastNumber3; 
@property (strong, nonatomic) IBOutlet UILabel *lastNumber4; 
@property (strong, nonatomic) IBOutlet UILabel *lastNumber5; 
@property (strong, nonatomic) IBOutlet UILabel *lastNumber6; 
@property (strong, nonatomic) IBOutlet UILabel *lastNumber7; 
@property (strong, nonatomic) IBOutlet UILabel *lastNumber8; 
@property (strong, nonatomic) IBOutlet UILabel *lastNumber9; 
@property (strong, nonatomic) IBOutlet UILabel *lastNumber10; 
@property (strong, nonatomic) IBOutlet UILabel *lastNumber11; 
@property (strong, nonatomic) IBOutlet UILabel *lastNumber12; 
@property (strong, nonatomic) IBOutlet UILabel *lastNumber13; 
@property (strong, nonatomic) IBOutlet UILabel *lastNumber14; 
@property (strong, nonatomic) IBOutlet UILabel *lastNumber15; 
@property (strong, nonatomic) IBOutlet UILabel *lastNumber16; 
@property (strong, nonatomic) IBOutlet UILabel *lastNumber17; 
@property (strong, nonatomic) IBOutlet UILabel *lastNumber18; 
@property (strong, nonatomic) IBOutlet UILabel *lastNumber19; 
@property (strong, nonatomic) IBOutlet UILabel *lastNumber20; 
@property (strong, nonatomic) IBOutlet UILabel *lastNumber21; 
@property (strong, nonatomic) IBOutlet UILabel *lastNumber22; 
@property (strong, nonatomic) IBOutlet UILabel *lastNumber23; 

起一堆标签,而这些都是为了要通过一个for循环这里迭代的基础上通过;

 for (int d = 0; d < [lastNumbers count]; d++) { 
      int value = [[lastNumbers objectAtIndex:d] intValue]; 
      if ([red containsObject:[NSNumber numberWithInteger:value]]) 
      { 
       self.lastNumber0.text = [NSString stringWithFormat:@"%i", value]; 
       self.lastNumber0.textAlignment = NSTextAlignmentLeft; 
       self.lastNumber0.textColor = [UIColor redColor]; 
      } 
      if ([black containsObject:[NSNumber numberWithInteger:value]]) 
      { 
       self.lastNumber0.text = [NSString stringWithFormat:@"%i", value]; 
       self.lastNumber0.textAlignment = NSTextAlignmentRight; 
       self.lastNumber0.textColor = [UIColor blackColor]; 
      } 
      if ([green containsObject:[NSNumber numberWithInteger:value]]) 
      { 
       self.lastNumber0.text = [NSString stringWithFormat:@"%i", value]; 
       self.lastNumber0.textAlignment = NSTextAlignmentCenter; 
       self.lastNumber0.textColor = [UIColor greenColor]; 
      } 
     } 
    } 

希望这是有道理的,在那里self.lastNumber0.text将与programtical self.lastNumber[d].text <更换 - 我知道这是行不通的,但是这就是我想要实现的,我想这

NSString *labelName = [NSString stringWithFormat:@"lastNumber%i", d]; 

但无法弄清楚该怎么办self.labelName.text =嗒嗒......

感谢您的阅读,如果您需要任何更多的信息只是问。谢谢!

ANSWER

int yInc = 310; 
for (int i = 0; i < 32; i++) { 
    label[i] = [[UILabel alloc] initWithFrame:CGRectMake(460, yInc, 100, 10)]; 
    label[i].font = [UIFont boldSystemFontOfSize:11]; 
    label[i].backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.3]; 
    [self.view addSubview:label[i]]; 
    yInc = yInc - 10; 
} 

      for (int d = 0; d < 32; d++) { 
       int value = [[lastNumbers objectAtIndex:d] intValue]; 
       if ([red containsObject:[NSNumber numberWithInteger:value]]) 
       { 
        label[d].text = [NSString stringWithFormat:@"%i", value]; 
        label[d].textAlignment = NSTextAlignmentLeft; 
        label[d].textColor = [UIColor redColor]; 
       } 
       if ([black containsObject:[NSNumber numberWithInteger:value]]) 
       { 
        label[d].text = [NSString stringWithFormat:@"%i", value]; 
        label[d].textAlignment = NSTextAlignmentRight; 
        label[d].textColor = [UIColor blackColor]; 
       } 
       if ([green containsObject:[NSNumber numberWithInteger:value]]) 
       { 
        label[d].text = [NSString stringWithFormat:@"%i", value]; 
        label[d].textAlignment = NSTextAlignmentCenter; 
        label[d].textColor = [UIColor greenColor]; 
       } 
      } 
     } 
+0

lastNumber23变量尖叫,说你的应用程序体系结构中存在严重错误... – Vladimir 2014-10-11 18:04:19

+0

我试图实现的目标我无法用一个标签实现。所以为了让它为小目的而工作,以及学习如何遍历属性名称,现在是值得的。但感谢您的意见。 – Daniel 2014-10-11 18:08:42

+0

您不能“遍历属性名称”。 – matt 2014-10-11 18:17:25

回答

0

,而不是使一堆IBOutlets的个人标签,使一个单一的IBOutletCollection到所有的人。现在标签是数组的元素,您可以循环访问该数组。

+0

啊,我真的不知道为什么我没有想到那个..:|谢谢你的回答。 – Daniel 2014-10-11 18:20:06