我有一个类叫AppController
,我在AppDelegate
中有以下方法,当菜单项被选中时调用。
-(IBAction)selectSug:(id) sender
{
AppController * vc = [[AppController alloc]init];
[vc selectSugItem:sender];
}
但是这个方法创建了一个AppController
的新实例,所以我不能使用AppController
中变量的现有值。
请给我一个解决方案。由于
如果这个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];
}