저는 꽤 큰 응용 프로그램을 설계하고 있으며 시작시 몇 가지 다른 서버로 세션을 생성합니다. App의 모든 부분에서 사용되는 세션을 만들고 있기 때문에 App Delegate에서 가장 좋을 것 같았습니다.AppDelegate는 어느 정도의 작업을 수행해야합니까?
하지만 문제는 세션 진행을 화면에 표시해야한다는 것입니다. 진행 표시 줄로 덮어 쓰지 않고 위의 UIView를 감추고 싶지 않은 주 메뉴의 맨 아래에 UIToolBar를 가질 계획입니다. 그래서 그것을 보는 방식으로 몇 가지 방법으로 할 수 있습니다.
1) 응용 프로그램 대리인이 세션을 설정하고 진행률 표시 줄에 표시 할 수 있도록 주 메뉴 클래스에 진행 상황을보고하게하십시오 (세션이 별도의 스레드에서 생성 된 경우이 작업을 수행하는 데 문제가 있습니까?). ,
2) App Delegate가 주 메뉴 (UIView에 여러 개의 버튼과 UIToolBar가 있음)를 표시하고 진행 상황을 추적하고 표시하도록합니다. (App Delegate에는 아무 것도 표시하지 않았지만이를 수행 할 수 있다고 가정하지만 권장하지 않음) 또는
3) App Delegate가 주 메뉴를 누르고 mainMenu 클래스에서 세션을 만들고 진행률 표시 줄을 표시하게하십시오.
4) 다른 방법은 대리자 클래스에서 세션을 만들고 대리자를 자체 (AppDelegate)가 아닌 mainMenu로 설정하는 것입니다. 이 작업이 작동하거나 클래스의 대리자가 아닌 AppDelegate에서 실행중인 스레드를 닫을 수 있는지 (super를 아마도 호출하는 등)?
세션이 별도의 스레드에서 클래스로 만들어지기 전에 내가 말했듯이 UI를 잠그지 않을 것이므로 가장 좋은 방법은 처음이라고 생각하지만 문제가 생길 것입니다. 별도의 스레드, 다시 응용 프로그램 대리인에보고 다음 mainMenu보기로 그 메시지를 보내는?
나는 모든 것이 의미가 있기를 바랍니다. 더 이상의 설명이 필요하면 알려주세요. 모든 정보는 아마도 연결의 상태가 앱의 기능에 영향을 줄
내가 쓴 내용을 읽지 않으면 사과하지만 세션을 시작하는 연결 관리자로 싱글 톤을 사용한다고 말하는가? – Rudiger
나는 포인터가 자신에게 포인터를 반환하기 전에 존재하는지 검사하는 싱글 톤과 같을 것이라고 말하고 있었다. 이 경우 연결 상태를 확인하고 프로그램의 다른 부분을 사용하기 위해 연결 핸들을 반환하기 전에 연결을 초기화 할 수 있습니다. 연결 상태와 프로세스를 추상화하면 더 쉽게 작업 할 수 있으며 "모든 연결 닫기"와 같은 편리한 기능을 제공 할 수 있습니다. –
음, 재미있다. 그 쪽이 맞는 거 같아요. 나는 그것을 디자인하고 내가 어떤 문제에 부딪 치는지를 살펴볼 것이다.다른 사람이 문제에 무게를다는 지 볼 수 있습니다. – Rudiger