2011-12-06 4 views
2

Objective C 전문가의 질문을 참조하는 변수 이름이 있습니다.Objective-C 변수 동적 이름 지정/런타임시 참조

내가 양식에 6 UILabels가 있다고 가정하자, 속성을 사용하여 아르 설정 그들을 명명 myLabel1 - myLabel6

내가 for 루프를 통해 이동 뭔가 루프에 따라 이러한 채울하지만 어떻게 확신 메신저 싶습니다

for 루프를 지정하고 레이블 이름의 일부로 지정하십시오. 여기

는 내가하고 싶은 것이 있습니다 :

for (int LP = 0; i <5) 
{ 

    labelLP.text = [NSString stringWithFormat:@"My label number:%d", LP}; 
} 

어떤 메신저의 확실하지 않은 라벨을 참조하고 LP의 INT를 추가 내 루프에서 사용하는 방법입니다. 나는 이것을 확실하게하는 방법이 확실하지 않다고 확신한다. .. 어떻게?

답변

1

나는 적어도 평범하지는 않지만 변수 이름을 즉시 만들 수 있다고 생각하지 않습니다.

당신은 항상 당신의 루프 내부의 스위치 케이스를 사용할 수 있습니다 : 당신은 또한 배열을 배열에 라벨을 저장하고, 루프 수

for (int i=0; i<5; i++) { 

    switch(i) { 

     case 1: 
      myLabel1.text = [NSString stringWithFormat:@"My label number: %d", i]; 
      break; 
     case 2: 
      myLabel2.text = [NSString stringWithFormat:@"My label number: %d", i]; 
      break; 
     ... 
     ... 
    } 
} 

.

중요한 점은 변수 이름에 대해 고민하지 않고 개체가 필요한 이유와 그 개체를 가져 오는 방법을 생각하는 것입니다. 하나는이 방법을 좋아하든

2

스타일의 문제이지만, 여기서 일해야 방법 :

for (int LP = 1; i <=6) 
{ 
    NSString *labelName = [NSString stringWithFormat: @"label%d", i]; 
    UILabel *labelLP = (UILabel*)[self valueForKey: labelName]; 
    labelLP.text = [NSString stringWithFormat:@"My label number:%d", LP}; 
}