如何从应用程序委托类中的控制器类访问插座?

时间:2009-04-01 16:46:23

标签: iphone

我想从app delegate类的applicationDidFinishLaunching方法更改UIImageView的图像。但我担心这个班级对控制器插座知之甚少。在这种情况下我该怎么做?

2 个答案:

答案 0 :(得分:2)

您必须将UIImageView所在的ViewController定义到AppDelegate类,因此applicationDidFinishLaunching可以引用它。

在AppDelegate中,在interface语句之前添加 @class whateverViewController , 并定义实例。

#import <UIKit/UIKit.h>

@class WhateverViewController;

@interface WebDemoAppDelegate : NSObject <UIApplicationDelegate> {
    UIWindow *window;
    WhateverViewController *whateverViewController;
}

现在你的应用程序引用了whateverViewController。然后,您可以在whateverViewController中调用方法来更改UIImageView或直接设置UIImageView。当然这假设了whateverViewController被实例化(例如alloc / init或从nib加载);在你尝试设置任何东西之前,它必须存在。

答案 1 :(得分:0)

您可能需要在应用程序委托中放置UIImageView或其控制器的插座,以便在那里访问它。