gpt4 book ai didi

iphone - 如何从自定义 Controller 操作引用 AppDelegate 实例变量?

转载 作者:行者123 更新时间:2023-12-03 19:32:10 32 4
gpt4 key购买 nike

我希望能够(作为 Controller 的学习练习)在我设置的初始 View 上有一个按钮,然后如果您单击该按钮,则会发生一个操作,将 View 从 View 1 交换到 View 2。我不知道你怎么会这样?请参阅下面的代码部分,我想在其中插入执行此操作的代码。

任何人都可以发布我需要的代码吗? (即,它将涵盖如何引用我在 AppDelegate 中建立的变量)。如果我给自己做的这个练习有什么缺陷,请告诉我。谢谢。

AppDelegate *.h

#import <UIKit/UIKit.h>
@class gregsController;
@class Gregs2ndController;

@interface windowsBasedAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
gregsController *viewController;
Gregs2ndController *view2Controller;

}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet gregsController *viewController;
@property (nonatomic, retain) IBOutlet Gregs2ndController *view2Controller;

@end

AppDelegate *.m

#import "windowsBasedAppDelegate.h"
#import "gregsController.h"
#import "Gregs2ndController.h"

@implementation windowsBasedAppDelegate

@synthesize window;
@synthesize viewController;
@synthesize view2Controller;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

// Override point for customization after application launch.
NSLog(@"windowsBasedAppDelegate - didFinishLaunchingWithOptions");

//[self.window addSubview:viewController.view];
[self.window addSubview:view2Controller.view];
[self.window makeKeyAndVisible];

return YES;
}

自定义 Controller *.m

#import "gregsController.h"
@implementation gregsController
- (IBAction)logSomething {
NSLog(@"About to switch views");
[self.view removeFromSuperview];

// *** HOW DO I REFERENCE view2Controller AND PUT THIS AS THE VIEW ???? ****

NSLog(@"Finished switching views");
}

最佳答案

您可以通过UIApplication在任何您想要的地方获得对您的应用程序委托(delegate)的引用。单例:

#import "gregsController.h"
@implementation gregsController
- (IBAction)logSomething {
NSLog(@"About to switch views");
[self.view removeFromSuperview];

// *** HOW DO I REFERENCE view2Controller AND PUT THIS AS THE VIEW ???? ****
// Like this:
windowsBasedAppDelegate* appDelegate = (windowsBasedAppDelegate*)[[UIApplication sharedApplication] delegate];
[appDelegate.window addSubview:appDelegate.view2Controller.view];

NSLog(@"Finished switching views");
}

关于iphone - 如何从自定义 Controller 操作引用 AppDelegate 实例变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5063087/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com