2014-06-22 1 views
0

숫자와 기호라는 두 개의 IBoutlet 컬렉션이 있습니다. 배열의 첫 번째 요소가 숫자와 기호에서 두 번째, 숫자에서 세 번째, 기호에서 네 번째 등의 배열에 제목의 내용을 추가하고 싶습니다. 할 방법이 있습니까?IBoutletcollection의 내용을 배열에 추가 하시겠습니까?

편집 :

//@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]; 
    } 
} 

이 출구 수집 번호의 제목을 설정하는 코드입니다. 여기

+0

ib 아울렛 컬렉션에는 어떤 종류의 UI 요소가 있습니까? 'UILabel's? – nburk

+0

문자열입니다. UIButtons의 제목을 배열에 추가하고 제목은 문자열입니다. –

+0

콘센트 컬렉션이라면 UI elemements가 포함되어 있어야합니다. 그래서 거기에 레이블이있는 것 같습니다. 당신이 이것을 달성하기 위해 알고리즘을 요구하고 있습니까? 어쩌면 약간의 코드 (특히 콘센트 컬렉션 선언)를 공유 할 수 있습니까? 그러면 알고리즘을 보여 드리겠습니다. – nburk

답변

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를 사용하여 결과 배열에서 짝수 또는 홀수 위치를 찾은 다음 적절한 IBOutletCollection에서 요소를 추가합니다. 이거 분명해?

+1

'[result count]'는 count가 배열의 요소 수를 세는 것처럼 0을 반환합니다. 초기 용량이 아닙니다. – vikingosegundo

+0

아 감사합니다! 답변을 업데이트했습니다. – nburk