2012-10-28 3 views
0

좋아요, 그래서 배열과 for 루프를 사용하여 7 개의 다른 레이블 이름을 부여하려고합니다.배열에 레이블 이름 부여

코드 :

id huller[] = {hul18.text, hul17.text, hul16.text, hul15.text, hul14.text, hul13.text, hul12.text, hul11.text, hul10.text, hul9.text, hul8.text, hul7.text, hul6.text, hul5.text, hul4.text, hul3.text, hul2.text, hul1.text}; 

for (int i = 0; 7 > i; i++) { 
    huller[i] = [NSString stringWithFormat:@"%i", x + 1]; 
    NSLog(@"%@", huller[i]); 
} 

NSLog의 이름 변경,하지만 그들은 시뮬레이터에서 변경되지 않습니다. 뭐가 잘못 되었 니?

답변

0

, 다음을 수행하십시오

NSArray *labels = [ hul18, hul17, hul16, hul15, hul14, hul13, hul12, hul11, hul10, hul9, hul8, hul7, hul6, hul5, hul4, hul3, hul2, hul1 ]; 

// Change the text of every label in the array 
for (int i = 0; i < labels.count; i++) { 
    UILabel *label = labels[i]; 
    label.text = [NSString stringWithFormat:@"%i", x + 1]; // Do you really want 'x' here or 'i'? 
    NSLog(@"%@", label.text); 
} 
+0

이 방법은 저에게이 경고를 제공합니다 : - [__ NSCFString의 setText는 :] : 인식 할 수없는 선택기 예를 0x8a1d4b0 로 전송 (하지만 네, 나는 x를 원합니다. :) – user1411094

+0

이것은 'labels'배열에 UILabel 객체가 아니라 NSString 객체가 있음을 의미합니다. 귀하의 '레이블'배열이 내가 게시 한 코드와 일치합니까? hul18과 다른 것들은 UILabel 객체입니까? – rmaddy

+0

이 코드를 변경했는데 이제는이 오류가 발생합니다. [UILabel objectAtIndexedSubscript :] : 인식 할 수없는 선택기가 인스턴스 0x74b9e70에 전송되었습니다. :( – user1411094

0

텍스트를 변경하려면 텍스트를 수동으로 설정해야합니다. 등 hul18, hul17, 모든 UILabel의 객체가 가정

NSArray *labels = //Array of labels; 
for (int i = 0; 7 > i; i++) { 
    huller[i] = [NSString stringWithFormat:@"%i", x + 1]; 
    labels[i].text = huller[i]; 
    NSLog(@"%@", huller[i]); 
} 
관련 문제