gpt4 book ai didi

objective-c - 如何从应用程序委托(delegate)访问 View Controller 变量......反之亦然?

转载 作者:可可西里 更新时间:2023-11-01 03:37:55 26 4
gpt4 key购买 nike

我希望 View Controller 能够访问应用委托(delegate)中的 dog

我希望应用委托(delegate)能够访问 View Controller 中的鼠标


#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
{
int mouse; // <----------------
}
@end

- (void)viewDidLoad
{
[super viewDidLoad];

mouse = 12; // <-------------------

NSLog(@"viewDidLoad %d", dog); // <---------------
}

#import <UIKit/UIKit.h>

@class ViewController;

@interface AppDelegate : UIResponder <UIApplicationDelegate>
{
int dog; // <---------------
}
@property (strong, nonatomic) UIWindow *window;

@property (strong, nonatomic) ViewController *viewController;

@end

- (void)applicationWillResignActive:(UIApplication *)application
{
NSLog(@"applicationWillResignActive %d", mouse); // <--------------
}

 - (void)applicationDidBecomeActive:(UIApplication *)application
{
dog = 77; // <---------------------

NSLog(@"applicationDidBecomeActive");
}

最佳答案

第 1 部分:在 ViewController.h 中:

-(int)mouse;  //add this before the @end

在 ViewController.m 中,添加这个方法:

-(int)mouse
{
return mouse;
}

要从 AppDelegate 访问鼠标,请使用 self.viewController.mouse例如;

NSLog(@"ViewController mouse: %i", self.viewController.mouse);

第二部分:

在 AppDelegate.h 中:

-(int)dog;  //add this before the @end

在 AppDelegate.m 中,添加这个方法:

-(int)dog
{
return dog;
}

在 ViewController.m 中:

#import "AppDelegate.h"

要从 ViewController 访问狗,请使用:

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSLog(@"dog from AppDelegate: %i", [appDelegate dog]); //etc.

关于objective-c - 如何从应用程序委托(delegate)访问 View Controller 变量......反之亦然?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10435970/

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