[iOS]APP代码实践:建立一个辅助的APP类,减少对AppDelegate的修改
2015-12-15 10:32
495 查看
郝萌主倾心贡献,尊重作者的劳动成果,请勿转载。如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^
我要捐赠: 点击捐赠Cocos2d-X源码下载:点我传送游戏官方下载:http://dwz.cn/RwTjl游戏视频预览:http://dwz.cn/RzHHd游戏开发博客:http://dwz.cn/RzJzI游戏源码传送:http://dwz.cn/Nret1
最开始接触iOS开发的时候,如果需要一些全局变量或者全局函数的时候,总是直接在
但是时间长了还是觉得这样不太好,
然后 在预编译头
就可以直接在代码的任意一个地方直接使用此类了,如
郝萌主倾心贡献,尊重作者的劳动成果,请勿转载。如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^
我要捐赠: 点击捐赠Cocos2d-X源码下载:点我传送游戏官方下载:http://dwz.cn/RwTjl游戏视频预览:http://dwz.cn/RzHHd游戏开发博客:http://dwz.cn/RzJzI游戏源码传送:http://dwz.cn/Nret1
我要捐赠: 点击捐赠Cocos2d-X源码下载:点我传送游戏官方下载:http://dwz.cn/RwTjl游戏视频预览:http://dwz.cn/RzHHd游戏开发博客:http://dwz.cn/RzJzI游戏源码传送:http://dwz.cn/Nret1
最开始接触iOS开发的时候,如果需要一些全局变量或者全局函数的时候,总是直接在
AppDelegate中添加,因为
AppDelegate可以直接获取
1 | [UIApplication sharedApplication].delegate |
AppDelegate本身有其自己的作用(对于App本身的一些事件进行处理,如启动,切换,推送),这样做感觉怪怪的,所以还是自己弄一个专门处理我们所需的全局变亮或者全局函数的对象会更好一些
12 | //APPHelper.h @interface APPHelper + (APPHelper*)call; - (void) configureWindow:(UIWindow*)window; @property (nonatomic, readonly) AppDelegate *delegate; @property (strong, readonly) UIWindow *window; @end //APPHelper.m @interface APPHelper () @end @implementation APPHelper - (id)init { self = [super init]; if (self) { _delegate = (GGAppDelegate*)[UIApplication sharedApplication].delegate; } return self; } + (APPHelper *)call { static dispatch_once_t onceQueue; static APPHelper *appInstance; dispatch_once(&onceQueue, ^{ appInstance = [[APPHelper alloc] init]; }); return appInstance; } - (UIWindow *)window { return self.delegate.window; } - (void)configureWindow:(UIWindow*)window { UINavigationController *nav = [[UINavigationController alloc] init]; ... ... ... window.rootViewController = nav; } @end |
*.pch中加入
12 | #import "AppHelper.h" #define APP ([APPHelper call]) |
12 | //设置APP为圆角 APP.window.layer.cornerRadius = 5.0f; APP.window.layer.masksToBounds = YES; |
我要捐赠: 点击捐赠Cocos2d-X源码下载:点我传送游戏官方下载:http://dwz.cn/RwTjl游戏视频预览:http://dwz.cn/RzHHd游戏开发博客:http://dwz.cn/RzJzI游戏源码传送:http://dwz.cn/Nret1
相关文章推荐
- iOS--CocoaPods的安装与使用记录
- iOS拨打电话功能的实现
- IOS开发之程序执行状态更改
- IOS8 AutoLayout和size classes 详解
- iOS自定义控件的问题及解决方法
- iOS instancetype or id ?
- 为什么安卓没有IOS流畅?看完你就明白了
- iOS自带图片大小压缩
- ios怎么让状态栏颜色和导航栏背景图片颜色一样
- iOS之NSDate
- 【收藏】众多iOS开源资源库
- 生产环境开源监控系统整合Nagios+Cacti+Nconf
- 在IOS上捕获视频
- iOS方法类:CGAffineTransform
- iOS 坐标转换
- IOS导航栏颜色渐变与常用属性
- iOS 实现类似安卓.9.png图片拉伸效果
- [iOS运行错误系列-001]
- phonegap(cordova) 入门 6----iOS 扫码插件,好用,方便,效率高,漂亮,兼容二维码,条形码
- ios知识总结