私は電卓のインターフェイスを操作するUIViewController
を作成していますが、UIViewController
はグラフの描画を扱います。UIViewController相互通信、UIViewControllerを強制的に更新する方法はありますか?
グラフボタンを押すと、グラフが自動的に再描画されます。次に、グラフは電卓のプロトコルメソッドにコールバックを実行して、与えられた各x座標のy値を取得します。
このようなコミュニケーションを処理する標準的な方法は何ですか?私はUIViewController
のsetNeedsDisplay
(これは実際にはUIView
メソッドだとわかっています)のようなものを呼び出すことができるはずですが、同様の方法で別のプロトコルを書く必要があると感じています。 updateViewController
メソッドのいくつかの種類がありますか?
私の計算機UIViewController
は、UIViewController
というグラフだけを知りたいと思っていますが、グラフは私が定義したプロトコルで電卓を知っています。
キー値監視は面白そう、私は '見てきたNSNotificationCenter'は、他の場所で言及したが、私はそのドキュメントがKVO''について言うように:「'NSNotificationCenter'を使用した通知とは異なり、提供して何の中央オブジェクトがありませんすべてのオブザーバーの通知を変更します。代わりに、変更が加えられたときに監視オブジェクトに直接通知が送信されます」これは、「シングルトンのような」ものではないようですが、これは良いことだと思いますか? – Lockyer
この場合は確かです。タブ内の別のタブ内のビューコントローラについてはわかりませんが、KVOは可能ではありません(うごろう可能性があります)チェックマークをクリックすることができます:) – zakishaheen
もう少し読んだら、ターゲット/アクションはUIViewController' -UIView通信の方が多く、NSNotificationCenterとKVOはモデル間通信に適していると思います。結局のところ、私はDelegates/Protocolsと一緒に行くだろうが、IOSが提供する他の施設を知ることは良いことだ。 – Lockyer