UI객체의 TAG 활용..

By | 2009년 12월 22일

프로그램을 개발하다 보면 디자인 형태에서가 아닌 런타임 상태에서 객체를 생성해야 하는 경우가 생긴다.

즉 몇개의 객체를 생성해야할지가 실행중 결정될때 이다..

예를들어 버튼을 200개를 생성해야 하거나 또는 등록된 사람수 를 가져와서 사람 수 만큼 버튼을 생성해야할 때 등..

윈도우라면 뭐 다양한 방법이 있을것이다. findwindow 등…

iPhone 에서는 tag 라는 꼬리표 같은 변수가 있다..

- (void)viewDidLoad {
    [super viewDidLoad];

    UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectZero];
    label1.tag = 100;
    [self.view addSubview:label1];
}

이렇게 뷰로드 부분에 객체를 생성하고.. 다른곳에서 tag 값을 가지고 찾아서 쓸 수 있다.

- (void) applyUser {
   UILabel *label1  = (UILabel *) [self.view viewWithTag:100];
   label1.text = "MARS";
}

저렇게 찾아서 쓸 수 있다.

예전에 tableview를 커스터마이징  해야 하는 일이 있었는데..

TableViewCell 을 이용했더니 속도가 느린것이였다.

그래서 저렇게 셀의 view에다가 직접 올려서 했더니 빠른 퍼포먼스를 얻을 수 있었다.