如果我在应用程序委托中添加我需要的所有项目的类方法,那可以吗?
然后我在当前的UIViewController中导入委托,然后调用方法:[MyAppDelegate classMethod];
这是一个好方法吗?
感谢
答案 0 :(得分:7)
我设置了APP_DELEGATE
宏,定义为:
#define APP_DELEGATE ((AppDelegate *)[[UIApplication sharedApplication] delegate])
...所以当我需要使用它时,我只需编码:
[APP_DELEGATE someInstanceMethod];
所以是的,我使用实例方法(为简单起见)。只需在AppDelegate.h
中定义此宏,并将其包含在您需要的任何位置。
答案 1 :(得分:2)
我认为它应该没问题,但我只会这样做a)有意义,而b)确实是该方法的唯一地方。我认为该功能是属于委托还是属于其他单例或共享类,我认为很长很难。
答案 2 :(得分:0)
我会说这是一种可接受的方法,但我不推荐它。这取决于你正在采取的方法。例如,如果您希望能够从应用程序的任何位置访问数据模型,最好使用单例,以便将模型与应用程序的其余部分完全分开。
答案 3 :(得分:0)
取决于您的应用需求或背景。
如果您要访问类变量,那么您可以选择要创建的类方法。
但你无法访问实例变量。
但我的选择是实例方法,它将对类变量和实例变量进行操作。
类方法和实例方法之间的区别是
班级方法
实例方法