2009-08-28 4 views
0

화면에 많은 이미지가 있습니다. UIImageView * s1, s2, s3 등등 * s10까지 각 이미지를 동일한 이미지로 업데이트하십시오. 하지 말고 s1.image = sampleimage; s2.image = sampleimage; : s10.image = sampleimage;NSString 변수의 값을 사용하여 이름을 참조하는 객체를 조작합니다.

어떻게 for 루프를 작성하여 1에서 10으로 이동 한 다음 루프 var를 이미지를 업데이트하는 라인의 일부로 사용할 수 있습니다. 이런 식으로. (i = 1; i <-10; ++ i) (i) .image = sample; // 나는 그것이 작동하지 않는다는 것을 안다.

기본적인 질문은 어떻게 변수를 이미지에 접근하기위한 문장의 일부로 포함 시키는가? 내 모범을 보지 마라. 주된 질문은 어떤 요소/객체에 대한 액세스의 일부로 변수를 사용하는 방법입니다.

결론 ... UIImageView의 이름을 NSString 개체에 작성할 수 있다면 어떻게 그 NSString 개체를 사용하여 UIImageView를 조작 할 수 있습니까?

감사합니다.

답변

2

수 없습니다. 그것은 UIImageView의 이름이 아닙니다. 이미지 뷰를 참조하는 변수의 이름이며 런타임에 이러한 변수가 반드시 존재하지는 않습니다.

원하는 것은 NSArray 또는 UIImageView *s[10] 배열입니다. (이것은 당신이 "s1"에서 "s10"까지 "s1"보다보기를 줄 수있는 더 많은 설명적인 이름이 없다고 가정합니다.)

+0

나는 ... 당신이 할 수 있어야한다고 생각합니다. 델파이 .. (FindComponent와 비슷한 것을 찾고) 쓰기 대신 : Edit1.Text : = '텍스트 1'; Edit2.Text : = '텍스트 2'; Edit3.Text : = '텍스트 3'; Edit4.Text : = '텍스트 4'; {...} Edit9.Text : = '텍스트 9'; {쓰는 것이 더 쉬워} { 양식의 구성 요소를 찾으려면 FindComponent 양식을 사용하십시오. Type FindComponent의 결과를 TComponent로 보내어 사용할 수 있습니다. } for i : = 1 to 9 do TEdit (FindComponent ('Edit'+ IntToStr (i))) 텍스트 : 'Text'+ IntToStr (i); –

+0

델파이는 C가 아닙니다. – Chuck

+0

제한 사항에 따라 목표 C가 델파이가 아니므로 제한을 두어야한다고 생각합니다. 나는 나보다 더 많은 경험 iphone을 요구하고 있는데, 목표 C에서 비슷한 것을 어떻게 할 수 있을지에 대한 의구심이있을 것입니다. –

관련 문제