1

Objective C の何よりも、これが何度も何度も私を狂気に駆り立てます。(用語の間違いがありましたらご容赦ください)

(アークを使用)

ddmenucontrollerを使用して、Facebook アプリに似た 2 つのメニューをロードします。左コントローラーと右コントローラー

RightController.h と m では、httprequest をプルして、フレンドのリストを読み込みます。LeftController.h と m からロードされた、フレンド追加ビュー コントローラーがあります。

AddFriendsViewController.h および m からフレンドが追加されたら、-(void) getFriends を呼び出して、RightController のフレンドのリストを更新する必要があります。

私は通知を試しました、共有インスタンスを設定しようとしましたが、何もうまくいかないようです:(私が見たほとんどの例からの私の最大の問題は、RightController.mのviewDidLoadでgetFriendsを呼び出す必要があることです。変更、それ、RightController のロード時にクラッシュ

誰かが見たいコードを教えてください。うまくいかなかったので、試したものはすべて削除しました...

4

3 に答える 3

1

ダウンロードとデータ ストレージをビューとビュー コントローラー (MVC を考えてください) から分離する必要があります。おそらく、すべてのデータを管理するためのシングルトンがあります。これで、任意のビュー コントローラーが新しいダウンロードをトリガーできるようになり、任意のビュー コントローラーが新しいデータを観察できるようになりました。シングルトンが新しいデータを取得した場合は、通知を投稿するだけです。ビューコントローラーで、表示されているときにオブザーバーとして追加し、非表示になっているときに削除します。ビュー コントローラーは、シングルトンを明示的に呼び出すことで、いつでも新しいデータを確認できます。


シングルトン インターフェイスは次のようになります。

#define MY_NEW_DATA_NOTIFICATION @"MY_NEW_DATA_NOTIFICATION"

@interface MyDataController : NSObject

@property (strong, nonatomic, readonly) NSArray *downloads;

+ (MyDataController *)sharedController;

- (void)startDownload;

@end
于 2013-07-25T14:48:30.790 に答える
0

KVOを使ってみましたか?これは、それが作成された種類のものです。

于 2013-07-25T20:11:59.813 に答える