objective-c – 如何从app delegate访问视图控制器变量…反之亦然?

objective-c – 如何从app delegate访问视图控制器变量…反之亦然?,第1张

概述我希望视图控制器能够访问应用程序委托中的狗. 我希望应用程序委托能够在视图控制器中访问鼠标. #import <UIKit/UIKit.h>@interface ViewController : UIViewController{ int mouse; // <----------------}@end - (void)viewDidLoad{ [super view 我希望视图控制器能够访问应用程序委托中的狗.

我希望应用程序委托能够在视图控制器中访问鼠标.

#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);

第2部分:

在AppDelegate.h中:

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

在AppDelegate.m中,添加以下方法:

-(int)dog{    return dog;}

在VIEwController.m中:

#import "AppDelegate.h"

要从VIEwController访问dog,请使用以下命令:

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

以上是内存溢出为你收集整理的objective-c – 如何从app delegate访问视图控制器变量…反之亦然?全部内容,希望文章能够帮你解决objective-c – 如何从app delegate访问视图控制器变量…反之亦然?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1237720.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存