내 UIViewController
하위에 4 개의 "블록"집합이 있습니다. 각 "블록"은 , 하나는 UIImageView
이고 하나는 UIView
인 두 명의 자식 인 UIView
입니다. 이 모든 것은 인터페이스 빌더에서 생성되며 IBOutlet
을 사용하여 클래스에 연결됩니다. - 그것은 네 세트 항상, 그래서 각 블록의 초기화가변수에서 해당 이름으로 UIView 참조
IBOutlet UIView *block1;
IBOutlet UILabel *title1;
IBOutlet UILabel *text1;
IBOutlet UIImageView *image1;
IBOutlet UIView *separator1;
IBOutlet UIView *block2;
IBOutlet UILabel *title2;
IBOutlet UILabel *text2;
IBOutlet UIImageView *image2;
IBOutlet UIView *separator2;
IBOutlet UIView *block3;
IBOutlet UILabel *title3;
IBOutlet UILabel *text3;
IBOutlet UIImageView *image3;
IBOutlet UIView *separator3;
IBOutlet UIView *block4;
IBOutlet UILabel *title4;
IBOutlet UILabel *text4;
IBOutlet UIImageView *image4;
IBOutlet UIView *separator4;
내가 데이터를 동적으로 이러한 UIViews로 설정할 수 받고 있어요 : 내 수업에서
, 나는 해당 회원이 똑같다. 이상적으로, 나는 같은 것을 할 싶습니다Block *block;
UIImage *img;
for(int i=1; i<=4; i++)
{
block = [response blockNumbered:i];
[<"title"+i> setText:[block getTitle]];
[<"text"+i> setText:[block getText]];
img = [block getImage];
if(img)
{
[<"image"+i> setImage:img];
}
[<"separator"+i> setHidden:![block needSeparator]];
}
(이 실제 생활에서, 코드를 단순화한다는 점에 유의 가까운 200 라인의 코드 4 개 개의 블록의 각각에 대해,이 초기화에 더 많은있다 -하지만 정확히 같은 논리.) 만약 내가 어떻게 든 문자열 변수에 이름이있는 뷰를 참조 할 수 있다면 ... ..
이것을 달성 할 방법이 있습니까?
P. 코드에서 이러한 뷰를 모두 해당 뷰의 배열로 만들 수 있지만 코드의 레이아웃을 수행해야한다는 것을 알았습니다. IB에서이를 수행하고 싶습니다. 또는 UIViews
의 배열을 IBOutlet
으로 선언하고 IB의 배열에있는 각 요소를 연결하는 방법이 있습니까?
A-하! 정확히 내가 닮은 것 같아. 그것을 시도하고 당신에게 돌아 가자. –