1

Web サービス アプリケーションを設計し、いくつかの GET 要求を介してサーバーからアプリのデータを取得しました。ログイン クラスで userdefaults を入力して NSUSerDefaults に保存しviewDidLoad、ログイン クラスでコントロールを作成しました (userdefaults が保存されている場合)。それらをテキストフィールドのテキストプロパティに割り当てます。私が欲しいのは、applicationDidFinishLaunchingWithOptionsデリゲートメソッドからログインクラスのメソッド(ログインメソッド)を呼び出すことです。以下はいくつかのpeoudoコードです:

//LoginClass.m
@implementation LoginClass
....
//needed things...

-(ibaction)LoginMethod{
//the assingments&data fetchings ect

}

そして、以下のように appdelegate クラスでこのメソッドを呼び出したい

 //....Appdelegate class
    #import "LoginClass.h"
    //.....other things....
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
      LoginClass *myObj= [[LoginClass alloc]init];
       [myObj LoginMethod];
    }

これどうやってするの?全体として、AppDelegate クラスから他のクラスのメソッドを呼び出すにはどうすればよいですか? 注:私はNSURLConnectionsとそのデリゲート メソッドを使用して、データをフェッチし、エラーを処理します。

編集 loginViewControllerのviewDidLoadでデフォルトを制御した後、デフォルトに値がある場合、ユーザーのクリックを必要とせずに、ログインアクションを自動的に呼び出したいです。

4

1 に答える 1

3

AppDelegateは通常、作成される最初のクラスであるため、ここでメッセージを送信するオブジェクトを作成できます。このオブジェクトがそれらを作成する場合、このオブジェクトはそれらを認識し、メッセージを送信できます。

ただし、注意が必要です。

  • AppDelegateにすべてをロードするには時間がかかります。時間がかかりすぎると、Springboardはアプリを終了します。
  • また、あなたのデザインは少し洗練されていないと思います。AppDelegateですべてを作成する場合は、制御フローがAppDelegateに戻って、他のオブジェクトへの参照を取得すると思われます。これはモジュラーコードにはなりません。
于 2012-04-09T16:08:46.347 に答える