使用多个目标进行 appdelegate 访问的宏

Posted

技术标签:

【中文标题】使用多个目标进行 appdelegate 访问的宏【英文标题】:Macros for appdelegate access using multiple targets 【发布时间】:2011-04-19 13:00:06 【问题描述】:

我正在阅读一篇关于在此处使用带有宏的速记访问应用程序委托的帖子

Short hand for [[UIApplication sharedApplication] delegate]?.

所提供的问题的解决方案是在应用委托标头中定义以下宏。

#define AppDelegate (YourAppDelegate *)[[UIApplication sharedApplication] delegate]

我的问题是,我该如何处理具有多个目标的项目,因为每个目标的 appdelegate 名称都不同?

【问题讨论】:

【参考方案1】:

#define 宏只是预处理器中的一个字符串替换工具,所以我认为除了定义另一个具有每个目标的应用程序委托名称的宏之外,您无能为力。 键入缩写应用程序委托所节省的成本不会很多,而且 imo 可能不值得花时间去做。 我将进一步编辑说,如果您对应用程序委托进行了足够的引用来证明缩写是合理的,我认为您需要将一些代码从 appDelegate 移出到更好的分解(可能是单例)类中。我的 2 美分。

【讨论】:

嗯,好建议。我想我可能会在那里找到一些有用的东西......哦,好吧。旗鱼! :P @dubbeat - 我们赢了!就在 3 分钟前,我放弃了 Swordfish 的事情并将其从我的个人资料中删除,所以你将得到唯一的一美元。现在,我怎么把它给你? mmmm,把它给你遇到的下一个无家可归的人,并说它是我的 :) 哇,你的想法和我一样。 (你一定是个智商超高的超级天才)。我会这样做的。

以上是关于使用多个目标进行 appdelegate 访问的宏的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发常见的宏定义(实用)

目标 C:我如何访问在我的 AppDelegate 中的另一个类中声明的类?

iOS 常用到的宏#define

同时调用多个 ViewController 实例会导致应用在 AppDelegate 中崩溃

与多个用户共享的宏不会复制/粘贴到工作簿中

SwiftUI 2 访问 AppDelegate