0

私は友人のコードを見ていますが、これがどのように機能するのかわかりません。データをダウンロードするためにWebサービスと通信するシングルトンがあります。WebServiceObjectは、NSObjectのサブクラスです。ダウンロードは、UIViewControllerであるホームページをクリックすることから行われます。

WebServiceObjectでは、問題が発生すると、次のようになります。

UIAlertView *alert = [[UIAlertView alloc] init...];
[alert show];

アラートが表示されます。それを実行するコードは非ビューオブジェクトであるため、そのアラートはどのように表示されますか?私が尋ねている理由は、ネットワークが再びオンになったときにそのアラートを削除したいからです。ネットワーク監視はWebServiceObjectで行われているため、UIAlertViewオブジェクトにアクセスする方法がわかりません。私が行った他のコードで、私は次のようなことをするだろうと思いました

[self.view viewWithTag:NETWORK_ALERT_TAG];

またはそれに影響を与える何か。これは、ビューコードがモデルコードに含まれているためです。代わりに、彼のコードを変更して、ビューコードに通知を投稿し、代わりにアラートを表示して、その方法で取得する必要がありますか?本当にありがとう!

4

2 に答える 2

1

UIAlertViewの-showメソッドは、アプリのウィンドウの上にオーバーレイされた独自のウィンドウを作成し、そのウィンドウにそれ自体を表示します。そのため、アプリのビュー階層の一部ではありません。非表示にするには、アラートビュー自体への参照が必要です。これは、WebServiceObjectのプロパティとして公開されている可能性があります。

于 2012-05-10T02:12:05.210 に答える
0

ボタンなしでUIAlertViewを使用したいようですが、「アラートをお待ちください」を表示するこの素晴らしいチュートリアルを見つけました。

http://mobiledevelopertips.com/user-interface/uialertview-without-buttons-please-wait-dialog.html

ユーザーがアラートを却下できないようにする場合は、目的を達成するのに役立つと思います

于 2012-05-10T02:13:33.970 に答える