2011-01-31 5 views
2

저는 비교적 Cocoa/Xcode에 익숙하지 않아 가장 올바른 방식으로 응용 프로그램을 구성하고 있는지 확실하지 않습니다. 응용 프로그램이 실행되는 동안 활성 상태 인 객체가 여러 개 있습니다. 이러한 객체를 수동으로 만들거나 Interface Builder로 생성해야합니까?객체를 수동으로 만들거나 InterfaceBuilder로 만들어야합니까?

내가 말하는거다 객체의 유형 : 디스크에 결과를 표시하도록 사용자 인터페이스를 업데이트 할 책임이

  • 사용자 인터페이스 업데이트 프로그램을 파일을 다운로드 할 책임이

    • "다운" 다운로드 파일

    IB에서 이러한 객체를 만들고 코드 사이에 연결을 설정해야합니까?

  • 답변

    3

    정말 개인적인 취향의 문제입니다.

    제 생각에는 IB는 뷰를 배치하는 데 정말로 도움이됩니다. 따라서 뷰와 뷰 컨트롤러에 IB 만 사용하는 경향이 있습니다. 뷰 컨트롤러의 viewDidLoad 또는 init 메서드에서 코드에 다른 모든 것을 만듭니다.

    예에서 "다운로더"개체를 인터페이스에 직접 연결하면 MVC 위반이되는 것처럼 보입니다. 따라서 내 xib에서 다운로더를 제거 할 것입니다.

    "인터페이스 업데이터"는 인터페이스에 단단히 연결되어 있기 때문에 펜촉에있을 수 있습니다. 다만보기 컨트롤러 클래스에 해당 코드를 넣지 않는 것이 좋을 경우는 예외입니다.

    코드에서 항목을 만드는 경우 os가 메모리를 저장하기 위해 표시되지 않을 때보기를로드하거나 언로드하므로 viewDidLoad/viewDidUnload를 여러 번 호출 할 수 있습니다. 그래서 오직 일시적인 객체 만 넣으십시오 ... 뷰 컨트롤러의 수명 동안 존재해야만하는 것들은 init/dealloc 메소드에서 만들어 져야합니다. 코드에서 대부분의 객체 생성 작업을 수행하는 이유 중 일부는 메모리를 통해 제어 할 수있는 미세한 수준입니다.

    +0

    MVC 위반을 언급 한 경우 +1. 솔직히 말해서 나는 미래에 유의해야 할 모델을 완전히 잊었다. – Nippysaurus

    0

    저는 일반적으로 IB에서 가능한 한 많이 빌드 한 다음 IB 제한 사항을 실행할 때 코드로 전환합니다. 인터페이스 작성기에서 설명한 UI를 만들 수 있어야합니다.

    관련 문제