프로그램을 개발하다 보면 디자인 형태에서가 아닌 런타임 상태에서 객체를 생성해야 하는 경우가 생긴다.
즉 몇개의 객체를 생성해야할지가 실행중 결정될때 이다..
예를들어 버튼을 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에다가 직접 올려서 했더니 빠른 퍼포먼스를 얻을 수 있었다.