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及其委托方法来获取数据、处理错误等。注 2:我也用 NSUserDefaults 标记,因为我也使用它(在控制我控制它的内容时)

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

4

1 回答 1

3

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

不过,请注意:

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