AppDelegate的科幻用法

本文介绍如何在iOS应用中通过AppDelegate获取系统代理指针,利用其功能简化应用内部变量传递、函数调用及全局函数管理,提供九种方法实现变量间高效通信,并举例说明每种方法的应用场景。
 AppDelegate *_sysDege = [[UIApplication sharedApplication] delegate];
这里的_sysDege就指向一个系统代理的指针,而且是每个app内置的,可以随时调用的哟,有了他就有了以下便利:
1.你可以很容易的拿到UINavigationController写应用写的多了,为了后面view切换方便,经常会使用基于UINavigationController的结构。后来写着越来越科幻,在基于UINavigationController的view上,addSubview,结果add的view还要继续push,这时候已经没有UINavigationController了怎么办呢。好吧,我原来是直接搁全局变量的,没想到这个是可以直接拿到的。
2.你可以直接使用AppDelegate声明的变量
拿到一个已经初始化好的类,里面的变量肯定也可以直接调用喽,回到以前不同view之间的变量传递话题,都有啥办法来着?

给第二个类声明一个delegate;
另外实现一个单例;
通过消息通知;
通过文件交换;
通过NSUserDefaults;
通过全局变量;
通过变量绑定;
通过Block;
好吧,我记得早先讨论这个传值问题的时候,我只知道三种方法,现在随便一说就八种了,而且加上今天要说的这个就是九种了,再
3.调用一些全局函数
很多时候,我们一个方法,不仅这个类里要用到,那个类里也要用到,为了实现方便调用和统一管理,我们会把多次用的类写到一个单例里面,当然这个时候在管理上还是有一些混乱的:有的函数是公用的,放在哪个应用里都可以用;有些函数是只有这个app才会用。所以现在你知道怎么把这些函数分开了吧?
ok,上面的用法很方便哈,但是总不能每次调用的时候,都写那么个变量出来吧,很长很urgy,肯定要自定义一个宏了:
#define sysDege (AppDelegate *)[[UIApplication sharedApplication] delegate]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值