NSProcessInfo实现启动传参
什么是启动传参
所谓启动传参,是指在APP启动的时候,从Xcode环境变量或者命令行传入指定的参数,让APP根据不同参数做出不同的响应。
为何要引入启动传参
在UI自动化测试中,需要很多前置的工作,包括替换域名、指定mock/代理服务器地址、关闭长连接、启动后跳转到指定页面、自动登录、设置经纬度等等。这些前置工作都可以通过启动传参来实现。使用启动传参,有利于提高测试效率。
NSUserDefaults和Xcode启动传参
前言
NSUserDefaults作为iOS內建的存储机制早已为大家所熟知。NSUserDefaults在少量数据持久化和用户偏好存储方面一直发挥着重大的作用。对于NSUserDefaults的常见用法应该是无外乎存取数据。相比较NSUserDefaults,Xcode中的环境变量就比较陌生。有时候,从头到尾开发一款APP也不一定会用到环境变量。而实际上NSUserDefaults和环境变量存在着千丝万缕的关系。本篇文章将会揭开二者的内在联系。
NSUserDefaults
NSUserDefaults的常见用法,如下:
1 | [[NSUserDefaults standardUserDefaults] setObject:@(1) forKey:@"isVip"]; |
iOS事件传递响应机制
[toc]
前言
按照时间顺序,事件的生命周期是这样的:
事件的产生和传递(事件如何从父控件传递到子控件并寻找到最合适的view、寻找最合适的view的底层实现、拦截事件的处理)->找到最合适的view后事件的处理(touches方法的重写,也就是事件的响应)
其中重点和难点是:
1.如何寻找最合适的view
2.寻找最合适的view的底层实现(hitTest:withEvent:底层实现)
(一)iOS中的事件
iOS中的事件可以分为3大类型:
- 触摸事件
- 加速计事件
- 远程控制事件
这里我们只讨论iOS中的触摸事件。
Hexo快速开始
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick Start
Create a new post
1 | $ hexo new "My New Post" |