1

私は iOS 開発の比較的初心者ですが、自分のアプリでやりたいことをすべて実行することができました。ただし、アプリをまとめることについていくつか質問があります。

現在 appDelegate 内にある唯一のコードは、リモート通知を処理します。リモート通知を受信すると、アラート、メッセージなどをユーザーに送信します。また、通知センターの通知も生成します。これにより、さまざまなビュー コントローラー内でさまざまなメソッドが実行されます。

appDelegate のさまざまな関数についてはどうですか? DidEnterBackground、WillEnterForeground など? 私のアプリは、メソッド stopStream を持つオブジェクト (stream1) を作成する 1 つのビュー (view1) で開始します。ストリームを開始および停止するボタンがあります ([self.stream1 stopStream])。私の質問は、これらのメソッドを呼び出して、appDelegate メソッドの 1 つでオブジェクトの特定のインスタンスを停止するにはどうすればよいですか? appDelegate 内の通知センターの通知を作成し、ビューでトリガーを処理する必要がありますか? それとももっと簡単な方法がありますか?それとも、ベストプラクティスに従わずに、完全に間違ったことをしていますか?

どんな助けでも大歓迎です!また、アプリのアーキテクチャに関するガイドへのリンク、または iOS でのアプリの構築に関するお気に入りの本へのリンクも素晴らしいでしょう!

4

2 に答える 2

1

アプリ デリゲートが実際にこれらのイベントで何かを行う必要がある場合にのみ、アプリ デリゲートはさまざまなアプリ デリゲート メソッドを実装する必要があります。

特定のビュー コントローラーまたは他のクラスがさまざまなアプリ デリゲート通知 (バックグラウンドに入る、フォアグラウンドに戻るなど) に関心がある場合、ビュー コントローラーまたは他のクラスは対応する通知に登録する必要があります。UIApplicationさまざまな通知については、ドキュメントを参照してください。

アプリのデリゲート メソッドでカスタム通知を投稿しないでください。

于 2013-03-19T20:56:44.193 に答える
0

探しているすべてのメソッドは、ここの docs にリストされています。

それらについて何をすべきかについては、間違いなくあなたのアプリ次第です。少なくともバックグラウンドへの出入りを適切に処理することをお勧めします。そのため、少なくともそれらのメソッドを使用して、アプリで適切なアクションを実行してください。

あなたが言及したように、アプリが単に NSNotifications を爆発させるのは非常に一般的です。ほとんどの状況で完全に受け入れられます。

于 2013-03-19T20:53:14.753 に答える