2013-01-02 1 views

답변

1

뷰 컨트롤러 코드 파일 .m 및 .h를 다시 사용 하시겠습니까, 아니면 UI가있는 스토리 보드 객체를 다시 사용 하시겠습니까?

코드 재사용은 쉽게 완료됩니다. 각 스토리 보드 객체는 사용자 정의 클래스와 연관 될 수 있습니다. 오른쪽에있는 객체 검사원이 신원을 확인합니다. 하나 이상의 스토리 보드 객체에 동일한보기 컨트롤러 클래스를 할당하여 코드를 다시 사용할 수 있습니다.

스토리 보드에서 만든보기 레이아웃을 다시 사용하고 동일한 스토리 보드를 재사용하지만 다른보기 컨트롤러 클래스 (다른 기능을 관리하기 위해)를 재사용하려는 경우 현재 가능하지 않습니다.

해결할 가능성이있는 해결 방법은 xib 파일을 추가하고 사용자 인터페이스를 추가하여 사용자 지정 UIView를 정의하는 것입니다. 그런 다음 사용자 정의 UIView 하위 클래스를 만들고 할당하십시오. 그런 다음 스토리 보드에서 사용자 정의보기를 초기화하고 하위보기로 추가 할 수 있습니다. 사용자 정의 클래스를 참조하여 UI를 관리 할 수 ​​있습니다.

UI가 매우 복잡한 경우가 아니면 일반적으로 별도의 스토리 보드에 UI를 다시 만들고 해당보기 컨트롤러를 할당하는 것이 더 쉽습니다. cmd-d를 사용하여 스토리 보드를 복제하거나 단순히 복사하여 붙여 넣을 수 있습니다. 경우에 따라 복사 및 붙여 넣기가 이전 참조를 전달하기 때문에 UI 객체를 코드에 연결하기 전에이 작업을 수행해야합니다.

그래서 탭바 컨트롤러를 설정하고 별도의 탐색 컨트롤러를 각 탭에 연결 한 다음보기 컨트롤러 (보기 또는 tableview 또는 pageController 등)를 루트보기로 각 탐색 컨트롤러에 연결하십시오. 그런 다음 UI를 설정 한 다음 사용자 정의 하위 클래스를 지정한 다음 하위 클래스의 속성에 UI를 연결하십시오. 스토리 보드의 여러보기 컨트롤러에서 하위 클래스를 다시 사용할 수 있다는 점을 기억하십시오. 각 스토리 보드는 해당 하위 클래스의 새 인스턴스를 만들 것이기 ​​때문입니다. 각 탭 기능에서 올바르게 관리하려면 추가 논리가 필요할 수도 있습니다.

코드가 없습니다. 단지 .02 새해 복 많이받습니다.

+0

대단히 감사합니다, 새해 복 많이 받으세요! 나는 대부분 당신이 설명했듯이 UI가 여러 탭에서 비슷하기 때문에 붙여 넣은 View 컨트롤러를 복사하고 탭 탐색 컨트롤러에 연결했습니다 (모두 스토리 보드에서 수행되었습니다). –

+0

문제는 전역 바를 유지하는 데 싱글 톤 클래스가 있으므로 각 탭에 대해 몇 개의 싱글 톤 클래스가 있어야하고 두 번째 문제는 어떤 탭 탐색 컨트롤러가 뷰를 호출했는지 결정하는 방법을 알지 못한다는 것입니다 컨트롤러를 사용하여 특정 데이터 정렬을 수행하려면 친절하게 조언을 해주십시오 ... 1. 여러 싱글 톤을 사용하는 것이 맞습니까? 2. 내 탐색 컨트롤러를 관리하는 네비게이션 컨트롤러를 결정하는 방법은 무엇입니까? –

+0

안녕하세요 @ 데이비드 - 당신은 싱글 톤을 사용하는 것에 대해 많은 토론을 볼 수 있습니다. 개인적으로 나는 그들의 사용에 대해서는 아무런 문제가 없지만, 가장 좋은 연습 조언은 다음과 같습니다. 하나 또는 두 개의 속성을 저장해야하는 경우 앱 대리인을 사용하면 효과가 있습니다. 메서드와 함께 많은 속성이있는 경우 하나의 작은 용도로 격리하고 그 목적을 위해 단독 개체를 제한하십시오. 스파게티 코드로 이어지는 경향이 있으므로 이질적인 기능으로 싱글 톤을 채우려는 유혹을 피하십시오. 탭바 뷰 컨트롤러에서 모델을 공유해야하는 경우에는 싱글 톤 방식이 좋습니다. – CocoaEv

관련 문제