【发布时间】:2010-05-19 00:42:34
【问题描述】:
我正在设计一个相当大的应用程序,并且在启动时它将与几个不同的服务器创建会话。因为他们正在创建一个在应用程序的所有部分中使用的会话,所以我认为这在 App Delegate 中是最好的。
但问题是我需要在屏幕上显示会话进度。我计划在主菜单的底部有一个 UIToolBar,我不想用进度条覆盖它,而是覆盖它上面的 UIView。所以我看到它的方式我可以用几种不同的方式来做。
1) 让 App Delegate 建立会话并将进度报告给主菜单类,以便它可以在进度栏中表示它(如果会话是在单独的线程中创建的,这样做会有什么问题吗?),
2) 让 App 委托显示主菜单(带有一堆按钮和 UIToolBar 的 UIView)并让它跟踪和显示进度(我从未在 App Delegate 中显示任何内容,但假设您可以这样做,但事实并非如此推荐)或
3) 让 App Delegate 只需按下主菜单并让 mainMenu 类创建会话并显示进度条。
4) 我认为另一种方法是在委托类中创建会话并将委托设置为 mainMenu 而不是 self (AppDelegate),尽管我从未使用过 self 以外的任何东西,所以不确定是否这将起作用,或者如果我能够关闭线程(通过调用 super 可能?),因为它在 AppDelegate 而不是类的委托中运行。
正如我之前所说的,会话是在一个单独的线程中的一个类中创建的,因此它不会锁定 UI,我认为最好的方法是第一种,但我会遇到问题让它在单独的线程中运行线程,向应用委托报告,然后将该消息发送到 mainMenu 视图?
我希望一切都有意义,如果您需要任何进一步的说明,请告诉我。任何信息表示赞赏
干杯,
【问题讨论】:
标签: iphone uiapplicationdelegate uiprogressbar