저는 iOS 개발을 처음 접했습니다. 일반적으로 인터페이스 작성기를 사용하는 대신 코드에서 모든 내 UIViews, UILabels, UIButtons 등을 만듭니다. 이렇게하면 UIViewController가 매우 커지고 쉽게 따라갈 수 있으며, 콘센트 선언과 실제 작업 및 논리가 혼합됩니다. 내가 달성하고 싶다 무엇iOS 코드 구성 패턴
- (UIButton *) continueButton {
// if button is nil
if(_continueButton == nil) {
UIButton *button = [[UIButton buttonWithType:UIButtonTypeCustom] retain];
/* more configuration */
_continueButton = button;
}
return _continueButton;
}
// occures when continue button is tapped
- (void) buttonTouch:(id) sender
{
UIButton *button = ((UIButton *)sender);
if(button == continueButton) {
/* do stuff */
}
}
다른 파일에있는 버튼, 라벨 및 기타 뷰 '선언을 실제 행동, 애니메이션, 로직을 분리하는 등, 하고 저장하는 것입니다.
솔루션으로 나는 콘센트가있는 다른 UIViewController를 만들고 "addChildViewController"를 사용하여 로직을 보유하고있는 메인 UI 내부에 자식으로 포함시킬 생각을하고있었습니다.
이것이 올바른 방법일까요? 어떻게 처리합니까?
당신이 할 수있는 컨트롤러의 유틸리티의 종류에 대한 가고 싶어 재사용 했어? – rishi
아니, 난 그냥보기에서 논리를 분리하는 가장 좋은 방법이 궁금 해서요. 저는 웹 배경에서 폼과 다른 UI 요소를 정의하는 템플릿과이를 처리하는 컨트롤러를 가지고 있습니다. – Hidden
자신에게 유리하게 인터페이스 빌더를 사용하십시오. 코드에서 그런 일을하는 것이 나쁜 생각 인 이유를 알기 위해 의존성 삽입에 대해 읽어보십시오. IB는 – Sven