我正在设计一个相当大的应用程序,启动时它将创建与几个不同服务器的会话。当他们创建一个应用程序所有部分都使用的会话时,我认为这是应用程序中最好的委托。
但问题是我需要在屏幕上显示会话进度。我计划在主菜单的底部有一个uitoolbar,我不想用进度条来覆盖它,而是用上面的uiview来覆盖它,所以在我看来,我可以用几种不同的方式来实现它。
1)让应用程序代理建立会话并将进度报告给主菜单类,以便它可以在进度栏中表示(如果会话是在单独的线程中创建的,我会有任何问题吗?),
2)让应用程序代理显示主菜单(带一堆按钮的uiview和uitoolbar),并让它跟踪和显示进度(我从未在应用程序代理中显示过任何内容,但假设您可以这样做,但不推荐这样做)或
3)让应用程序代表按主菜单,让主菜单类创建会话并显示进度条。
4)我认为另一种方法是在委托类中创建会话,并将委托设置为MainMenu而不是Self(AppDelegate),尽管我从未使用过Self以外的任何东西,因此不确定这是否有效,或者是否能够关闭线程(通过调用Super Maybe?)因为它在AppDelegate而不是类的委托中运行。
正如我之前所说,在一个单独线程的类中创建会话之前,它不会锁定用户界面,我认为最好的方法是第一个,但我是否会遇到让它在单独线程中运行的问题,向应用程序代理报告,然后将该消息发送到主菜单视图?
我希望一切都有意义,如果您需要进一步澄清,请告诉我。感谢您提供任何信息
干杯,