摘要: 单例模式需要重写类的获取单例方法: 重写new方法,返回nil,不允许使用new去创建对象。 重写allocwithzone方法,当调用alloc方法时,防止创建新的对象: 重写copy mutableCopy方法防止重写分配内存 阅读全文
posted @ 2016-12-11 00:58 yiki 阅读(104) 评论(0) 推荐(0) 编辑
摘要: Event驱动 主体就是一个死循环,没事-休眠,有事-唤醒-执行 runloop:用于解决类似你滑动了屏幕产生了多个事件,为了解耦不影响用户操作,将这些事件加入一个消息队列,这边就不用再去管理这些事件,不会影响操作也不会影响事件的执行,它会从队列中取出一个一个的执行。主线程不需要等待事件处理完成才能 阅读全文
posted @ 2016-12-01 12:34 yiki 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 一般来讲,一个线程一次只能执行一个任务,执行完毕后线程就会退出,如果我们需要一个机制让线程能随时处理时间但并不退出,通常的代码逻辑是这样: 这就是 Event Loop框架。 runloop实际上就是一个管理其需要处理的事件和消息的对象,并提供了一个入口函数来执行上面Event loop的逻辑。线程 阅读全文
posted @ 2016-11-30 23:07 yiki 阅读(3178) 评论(0) 推荐(0) 编辑
摘要: runtime 运行时-最重要的机制是消息机制 消息机制的本质:任何方法的调用都是发送消息 SEL:方法编号,根据方法编号可以找到对用的方法。 运行时就是发送消息,当想使用系统的一些方法时候需要用到运行时去掉用。xcode5之后苹果不推荐使用底层方法,在xcode5之后使用运行时-build set 阅读全文
posted @ 2016-11-25 14:57 yiki 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 在TableView上添加悬浮按钮 如果直接在TableVIewController上贴Button的话会导致这个会随之滚动,下面解决在TableView上实现位置固定悬浮按钮的两种方法: 1.在view上贴tableView,然后将悬浮按钮贴在view的最顶层 2.使用window 首先看一下最终 阅读全文
posted @ 2016-11-15 16:00 yiki 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 1、ReactiveCocoa结合 函数式编程(Functional Programming)响应式编程(Reactive Programming),所以被描述为函数响应式编程(FRP)框架。使用RAC解决问题不用考虑调用顺序,直接考虑结果(响应式思想),把每一次操作写成一系列的嵌套的方法中,是代码 阅读全文
posted @ 2016-10-17 19:14 yiki 阅读(196) 评论(0) 推荐(0) 编辑
摘要: static与const联合使用 static与const作用:声明一个只读的静态变量 开发使用场景:在一个文件中经常使用的字符串常量,可以使用static与const组合 extern与const联合使用 开发中使用场景:在多个文件中经常使用的同一个字符串常量,可以使用extern与const组合 阅读全文
posted @ 2016-09-27 00:12 yiki 阅读(362) 评论(0) 推荐(0) 编辑
摘要: static作用: static修饰的对象只初始化一次,分配一次内存,程序已启动就执行。 修饰局部变量: 1.延长局部变量的生命周期,程序结束才会销毁。 2.局部变量只会生成一份内存,只会初始化一次。 3.改变局部变量的作用域。 修饰全局变量 1.只能在本文件中访问,修改全局变量的作用域,生命周期不 阅读全文
posted @ 2016-09-27 00:05 yiki 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 宏的命名规范:一般以项目前缀开头,key结尾。 #开头表编译。 宏的用法:1、定义常用字符串。 2、定义一段代码。 const与宏的区别:1、编译时刻:宏-预编译 const-command+b(编译阶段)编译。 2、宏不会检查代码错误,只是替换,但是const会编译报错。 3、宏的好处:定义代码或 阅读全文
posted @ 2016-09-26 23:54 yiki 阅读(5609) 评论(0) 推荐(1) 编辑