我有一个名为AppController
的班级,
我在AppDelegate
中有以下方法,当选择菜单项时调用该方法。
-(IBAction)selectSug:(id) sender
{
AppController * vc = [[AppController alloc]init];
[vc selectSugItem:sender];
}
但是这个方法创建了AppController
的新实例,所以我不能在AppController
中使用现有的变量值。
请帮我解决。谢谢
答案 0 :(得分:1)
如果这个AppController
类是一个单例(意味着应该只有一个应用程序的其他部分可以访问它的实例),你可以简单地创建一个。
将此方法添加到AppController
类(并添加标头声明):
+ (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];
}