2014-09-29 77 views
1

您好我是目标C新和我有很难与数组索引的NSMutableDictionary以作为值的NSArray

我需要创建一个的NSMutableDictionary其中包含5种的RGB颜色。
每种颜色将包含随机生成的3个组件,alpha值将固定为1.0。
这应该在for循环中。

由端我需要有

  1. 键:first_col _________值:0.13,0.75,0.91,1.0
  2. 键:second_col ______值:0.25,0.06,0.48,1.0
  3. 键:third_col ________值:0.86,0.12,0.55,1.0
  4. 键:_______________值:
  5. 键:_______________值:

谢谢

+1

难道不容易用UIColor代替数组? – Pochi 2014-09-29 08:10:49

+2

到目前为止您尝试了什么?具体来说,你有什么问题? – JoeFryer 2014-09-29 08:12:04

回答

0

试试这个答案..

- (void)viewDidLoad 
    { 
     [super viewDidLoad]; 
     NSMutableDictionary *dictonary; 
     NSMutableArray *temp=[NSMutableArray array]; 
     for (int i=0; i<5; i++) 
     { 
      dictonary=[NSMutableDictionary dictionary]; 
      [dictonary setObject:[self getColor:i] forKey:[NSString stringWithFormat:@"color%d",i]]; 
      [temp addObject:dictonary]; 
     } 
     NSLog(@"%@",temp); 

    } 
    -(UIColor *)getColor:(NSInteger)index 
    { 
     UIColor *color; 
     color=[self returnColor:index ]; 
     return color; 
    } 
    -(UIColor *)returnColor:(int)passedIndex 
    { 


     CGFloat red = arc4random()%255; 
     CGFloat green =arc4random()%255; 
     CGFloat blue = arc4random()%255; 

     UIColor *color; 
     switch (passedIndex) { 
      case 0: 
       color=[UIColor colorWithRed:(red/255) green:(green/255) blue:(blue/255) alpha:1.0]; 
       break; 
      case 1: 
       color=[UIColor colorWithRed:(red/255) green:(green/255) blue:(blue/255) alpha:1.0]; 
       break; 
      case 2: 
       color=[UIColor colorWithRed:(red/255) green:(green/255) blue:(blue/255) alpha:1.0]; 
       break; 
      case 3: 
       color=[UIColor colorWithRed:(red/255) green:(green/255) blue:(blue/255) alpha:1.0]; 
       break; 
      case 4: 
       color=[UIColor colorWithRed:(red/255) green:(green/255) blue:(blue/255) alpha:1.0]; 
       break; 
      case 5: 
       color=[UIColor colorWithRed:(red/255) green:(green/255) blue:(blue/255) alpha:1.0]; 
       break; 
      default: 
       break; 
     } 
     return color; 
    } 
+0

谢谢@karthikeyan – Vaki 2014-09-29 13:17:36

+0

如果这个答案帮助你,标记为正确的答案 – karthikeyan 2014-09-29 13:33:15

+0

我是一个新鲜:)。再次感谢你 – Vaki 2014-09-29 13:38:26

0

做这样

NSDictionary * colorsDictionary = [[NSDictionary alloc]initWithObjectsAndKeys: 
          [UIColor colorWithRed:(160/255.0) green:(97/255.0) blue:(5/255.0) alpha:1.0],@"color1", 
          [UIColor colorWithRed:(260/255.0) green:(97/255.0) blue:(105/255.0) alpha:1.0],@"color2", 
          [UIColor colorWithRed:(106/255.0) green:(97/255.0) blue:(205/255.0) alpha:1.0],@"color2", 
          [UIColor colorWithRed:(10/255.0) green:(97/255.0) blue:(55/255.0) alpha:1.0],@"color3", 
          nil]; 
+0

谢谢@iRaki。这工作完美。如果我想添加到字典数组* col_components(对于一般情况)它应该如何[CGFloat col_components],@“color1” – Vaki 2014-09-29 13:23:44

相关问题