02 2015 档案
摘要:iOS8新特性主要体现在4方面 1.UIAlertController 对alert&actionSheet的封装 UIAlertController.h 提示框按钮的选择 typedef NS_ENUM(NSInteger, UIAlertActionStyle) { UIAlertActionS
阅读全文
摘要:Autoresizing:出现最早,仅仅能够针对父控件做约束(注意:要关闭Autolayout&Size classes才能够看到Autoresizing) 代码对应: UIView.h中的autoresizingMask属性 @property(nonatomic) UIViewAutoresiz
阅读全文
摘要:大体来说tabBar的内部其实除了UITabBarButton还有两个UIImageView 1.两个UIImageView是我们访问不到的,_UITabBarBackgroundView继承自UIImageView(tabBar顶部的那条线),而且他的内部还有两个控件_UIBackdropView
阅读全文
摘要:当一个控制器有navigationBar&tabBar: 1.当导航控制器根控制器是tableViewController时,tableView 的frame原点是屏幕左上角,当向tableView上添加子控件到(0,0)点时,会添加到导航条左下角,即会有64的差距,这是由于可扩展区域引起的,本质是
阅读全文
摘要://选择排序 void test2(int a[],int len){ //每次找出一个最小值,最小值依次与原数组交换位置,通过下标来完成交换,最小值下标每次都在变,变量存储 // 假如第一个是最小值 int mine=0; int teamp=0; // 外层负责趟数 for (int i=0;
阅读全文
摘要:addTarget原理: 当一个控件addTarget时,先到runLoop注册,然后runLoop才会监听该事件,事件处理按照响应者链条 以下以button为例图解:
阅读全文
摘要:自动释放池的原理: 每一次运行循环开启时,会创建自动释放池 程序执行过程中的自动释放对象,出了作用域之后,会被添加到最近的自动释放池 运行循环结束前,会释放自动释放池 以下是图解:
阅读全文
摘要:SDWebImage底层实现原理: 其实是有沙盒缓存机制,主要由三块组成 1.内存图片缓存 2.内存操作缓存 3.磁盘沙盒缓存 以下是图解:
阅读全文
摘要:无沙盒缓存原理:主要由两部分组成 1.内存图片缓存 2.内存操作缓存
阅读全文
摘要:同样明文同样算法得到不同密码原理: 用户每次登陆明文是一样的,对用户而言密码没有改变,但加密后的密码每次都不相同,主要是由于时间戳(年月日时分),服务器会产生两个密码: 1.当前时间的密码 2.提前一分钟的密码 例如:用户 11:23 登陆 >服务器会产生两个密码:11:23&11:22 一分钟以内
阅读全文
摘要:远程推送原理:(必须长链接) 1.首次登陆:发送设备的UDID&app的BundelID 2.苹果加密后:返回一个deviceToken 3.QQ应用给QQ服务器发送deviceToken 4.存储到QQ服务器 5.李四给张三发消息(假设张三应用不在前台) 6.查询张三的deviceToken 7.
阅读全文
摘要:线程的五种状态: 新建:创建线程 就绪:将线程放入可调度线程池 运行:CPU执行该线程 阻塞:此时线程移出可调度线程池,CPU暂不执行该线程 死亡:线程结束(强制退出,正常退出,异常)
阅读全文
摘要:四大对象: 1.UIApplication 2.AppDelegate 3.UIWindow 4.UIViewController
阅读全文
摘要:应用程序的生命周期: 要了解程序的生命周期必须先了解程序的启动原理: 1.程序的入口main函数 2.进入UIApplicationMain函数(循环函数) 2.1创建UIApplication实例 2.2实例化Application的delegate 2.3开启事件循环 3.根据有无storybo
阅读全文
摘要:核心动画是基于CALayer的操作,在后台操作不阻塞主线程 以下是核心动画的类关系图
阅读全文
摘要:iOS开发中几个重要的方法: 加载类到内存,程序刚启动的时候调用,调用在main函数之前 1.+(void)load{ } 初始化类,类第一次使用的时候调用一次 2.+(void)initialize{ } 控制器的视图架构,设置控制器的根view,重写该方法后,以该方法为主,storyboard文
阅读全文
摘要:iOS中的两个定时器: 1.NSTimer >简单使用,时间多于1秒使用 2.CADisplayLink >简单使用,时间小于一秒使用,每秒调用60次 @property(nonatomic,strong)NSTimer* timer; 1.1手动加入消息循环 // 开启定时器 -(void)sta
阅读全文
摘要://输出图形 * * * * * * * * * * * * * * * * * * * * * * * * * //每行5个* void test1(){ // 外层负责行,外层执行一次,内层跑一遍 for (int i=1; i<=5; i++) { // 内层负责列j<=5 for (int
阅读全文
摘要:1.二维码生成 #import @property (weak, nonatomic) IBOutlet UIImageView *QRCImage; - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { // 1.创建
阅读全文
摘要:ARC&MRC都可使用的单例宏 单例宏使用示例 .h——> #import #import "singleDefine.h" @interface JYShared : NSObject SHARED_INTERFACE(JYShared) @end .m—> #import "JYShared.h
阅读全文
摘要:触摸事件传递(发生):自上而下原则 触摸事件响应(处理):自下而上原则 触摸事件响应(处理):自下而上原则
阅读全文
摘要:内存中的五个区: 代码区,常量区,全局区(静态区),堆区,栈区 代码区,常量区,全局区(静态区),堆区,栈区
阅读全文
摘要:运行时:要先了解程序运行的三个阶段 1.编译阶段: 编译器LLVM(Low Level Virtual Machine) The LLVM Project is a collection of modular and reusable compiler and toolchain technolog
阅读全文
摘要:通知:多对多的关系,比较耗性能 使用: 1.观察者到通知中心注册(接受那个发布者发布的什么通知,监听到通知后的处理方法) [[NSNotificationCenter defaultCenter] addObserver:selfselector:@selector(keyBoardShow:) n
阅读全文