gpt4 book ai didi

objective-c - 从 AppDelegate 调用 AppController 现有实例的方法

转载 作者:行者123 更新时间:2023-12-03 17:51:28 25 4
gpt4 key购买 nike

我有一个名为AppController的类,我在 AppDelegate 中有以下方法,当选择菜单项时会调用该方法。

-(IBAction)selectSug:(id) sender
{

AppController * vc = [[AppController alloc]init];

[vc selectSugItem:sender];

}

但是此方法创建了 AppController 的新实例,因此我无法使用 AppController 中变量的现有值。

请帮我解决一下。谢谢

最佳答案

如果这个 AppController 类是一个单例(意味着应用程序的其余部分只能访问它的一个实例),那么您只需创建一个即可。

将此方法添加到您的 AppController 类中(并添加 header 声明):

+ (instancetype)shared
{
static id shared = nil;
static dispatch_once_t once;
dispatch_once(&once, ^{
shared = [[self alloc] init];
});
return shared;
}

然后你可以通过这样做来调用它:

-(IBAction)selectSug:(id) sender
{
AppController * vc = [AppController shared];

[vc selectSugItem:sender];
}

关于objective-c - 从 AppDelegate 调用 AppController 现有实例的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25476857/

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