如何从AppDelegate调用不同类的实例方法?

时间:2012-04-09 15:53:02

标签: ios nsurlconnection nsuserdefaults

我设计了一个Web服务应用程序,并通过一些GET请求从我的服务器获取应用程序的数据。在我的登录类中,我输入userdefaults并将它们保存到NSUSerDefaults,然后在我的登录的viewDidLoad中class i做了一个控件,如果保存了userdefaults,我就把它们分配给textfield的text属性。我想要的是从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及其委托方法来获取数据,处理错误等。 注2:我也用NSUserDefaults标记,因为我也使用它(控制我控制其内容)

编辑 在我的loginViewController的viewDidLoad中控制默认值后,如果默认值中有值,我想自动调用我的登录操作,而不需要用户'点击次数。

1 个答案:

答案 0 :(得分:3)

由于AppDelegate通常是创建的第一个类,因此您可以在其中创建要发送消息的对象。如果这个对象创建它们,那么这个对象就知道它们并且它可以向它发送消息。

但请注意:

  • 加载AppDelegate中的所有内容需要时间。如果你花了太长时间,那么Springboard将终止你的应用程序。
  • 我也认为你的设计有点简单。如果您要在AppDelegate中创建所有内容,那么我怀疑控制流将反弹回AppDelegate以获取对其他对象的引用。这不适用于模块化代码。