将IBoutletcollection的内容添加到数组中?

时间:2014-06-22 15:03:24

标签: objective-c arrays iboutletcollection

我有两个名为数字和符号的IBoutletcollections。我想在数组中添加标题的内容,使得数组的第一个元素来自数字,第二个来自符号,第三个来自数字,第四个来自符号,依此类推。 有办法吗?

编辑:

//@property (strong, nonatomic) IBOutletCollection(UIButton) NSArray symbols; 
//@property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *numbers; 

-(void)setNumbers:(NSArray *)numbers 
{ 
  _numbers=numbers; 
  for (UIButton button in self.numbers) 
  { 
     Number * number = [[Number alloc]init]; 
     [button setTitle:[number randnum] forState:UIControlStateNormal];
  } 
} 

这是用于设置插座集合编号标题的代码。

1 个答案:

答案 0 :(得分:0)

在这里,假设您的IBOutletCollections包含类UILabel的元素并且具有相同数量的元素:

@property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *numbers;
@property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *symbols;

NSMutableArray *result = [[NSMutableArray alloc] initWithCapacity:self.numbers.count+self.symbols.count];
for (int i = 0; i < self.numbers.count+self.symbols.count; i++) {
    if (i%2 == 0) {
        [result addObject:((UIButton *)self.numbers[i]).titleLabel.text];
    }
    else{
        [result addObject:((UIButton *)self.symbols[i]).titleLabel.text];
    }
}

你的问题的解决方案是运行一个循环并在循环中用2进行模数计算,找出你在结果数组中有偶数或奇数位置的时间,然后从相应的{{1}中添加元素}}。这个清楚吗?