앱 딜러는 무엇을 위한 것이며 언제 앱을 사용해야 하는지 어떻게 알 수 있습니까?
저는 이제 막 아이폰 앱 작업을 시작하고 있습니다.사용자 지정 클래스와 비교하여 AppDelegate에 항목을 넣어야 하는 시기를 어떻게 알 수 있습니까?AppDelegate와 같은 패턴을 사용하는 Python 또는 PHP와 같은 다른 프로그래밍 언어와 유사한 규칙이나 유형이 있습니까?
저는 보통 Andrew가 "애플리케이션의 핵심"이라는 용어를 사용할 때 암시하는 설계 접근 방식을 피합니다.제가 의미하는 바는 중앙 위치에 너무 많은 것을 묶는 것을 피해야 한다는 것입니다. 좋은 프로그램 설계는 일반적으로 기능을 "관심 영역"별로 분리하는 것을 포함합니다.
위임 개체는 연결된 개체가 특정 이벤트 또는 상태에 도달하면 알림을 받는 개체입니다.이 경우 Application Delegate는 UIApplication 개체가 특정 상태에 도달하면 알림을 수신하는 개체입니다.여러 면에서, 그것은 전문화된 일대일 관찰자 패턴입니다.
이는 AppDelegate의 "관심 영역"이 특수 UIA 응용 프로그램 상태를 처리하고 있음을 의미합니다.이 중 가장 중요한 것은 다음과 같습니다.
- applicationDidFinishLaunching: - 시동 시 구성 및 시공 처리에 적합합니다.
- applicationWillTerminate: - 마지막에 정리하기 좋습니다.
AppDelegate에는 다른 기능이 포함되어 있지 않으므로 AppDelegate에 다른 기능을 추가하는 것을 피해야 합니다.이러한 다른 기능에는 다음이 포함됩니다.
- 문서 데이터 - 여러 문서 응용프로그램에 대한 문서 관리자 단일 단추 또는 단일 문서 응용프로그램에 대한 문서 단일 단추가 있어야 합니다.
- 버튼/테이블/뷰 컨트롤러, 뷰 대리자 메서드 또는 기타 뷰 처리(applicationDidFinishLaunching:에서 최상위 뷰 구성 제외) -- 이 작업은 각 뷰 컨트롤러 클래스에 있어야 합니다.
많은 사람들이 게으르거나 앱 대리인이 전체 프로그램을 통제한다고 생각하기 때문에 이러한 것들을 앱 대리인으로 묶습니다.앱의 관심 영역을 혼동하고 확장되지 않기 때문에 앱 대리인에게 집중하는 것을 피해야 합니다.
응용프로그램 대리인은 응용프로그램의 핵심입니다.사실상 "프로그램 컨트롤러"입니다.
Application Delegate는 다른 보기 작성을 시작하는 데 가장 일반적으로 사용되는 applicationDidFinishLaunching 메시지를 포함하여 응용 프로그램 수준 메시지를 수신하는 클래스입니다.
정확히 유사하지는 않지만 코코아 프로그램의 "주()" 루틴이라고 생각할 수 있습니다.
@시밤, 감사합니다.
제가 아는 바로는appDelegate
에 .Application
Android에 있습니다. 그viewDidLoad
,viewDidDisappear
Android의 라이프사이클과 비교할 수 있습니다.모든 애플리케이션에는 시작부터 전화가 걸려오는 중단, 알림 표시에 이르기까지 라이프사이클이 있습니다.만약 당신이 이것들이 특별한 것을 하기 위해 당신의 코드가 필요하다면.system
이벤트가 발생하면 메서드를 코드로 작성해야 합니다.
에서는 Android를 합니다. ㅠㅠonPause
,onDestroy
,onCreate
그런 시스템 이벤트를 처리하기 위한 콜백 방법입니다.
이것이 조금 더 도움이 되길 바랍니다...
이 언어에 익숙하지 않은 프로그래머들은 항상 같은 질문을 합니다 - 프로그램이 주요 방법에서 시작됩니까?. 메소드에서 합니다. . . . . IOS 앱은 메소드에서 시작합니다.
메인 클래스는 다음 함수를 호출합니다.
UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
을 생성하는 Cocoa Run 루프 및 앱 인프라를 시작합니다.UIApplication
물건. 은 컨텐츠가 하기 때문에 우리의 애플리케이션은 컨텐츠를 필요로 하기 때문에 객관적으로 처리해야 합니다.는 그것을 (AppDelegate의 을 합니다).UIApplication
중 에 따라 합니다.) 우리는 해당 대리자의 선택적 방법 중 일부를 구현하고 그에 따라 동작합니다.
언급URL : https://stackoverflow.com/questions/652460/what-is-the-appdelegate-for-and-how-do-i-know-when-to-use-it
'programing' 카테고리의 다른 글
없음 = 문자열.비어 있음(왜 이것들이 같습니까?) (0) | 2023.05.21 |
---|---|
NSURL을 NS 문자열로 변환 (0) | 2023.05.21 |
LINQ 문에서 익명 유형에 해당하는 VB.NET 구문은 무엇입니까? (0) | 2023.05.21 |
두 폴더를 자동으로 동기화하는 방법 (0) | 2023.05.21 |
일대일 관계를 가진 Mongoose 문서 참조 (0) | 2023.05.21 |