一、属性 我们需要一个 collectionView 和一个 NStimer 。collectionView 用来存放需要循环播放的对象, NSTimer 用来定时滚动collectionView 提示:需要用到UISCrollView 或者 UICollectionView,我们可以直接遵守其代理 ...
分类:
其他好文 时间:
2016-08-12 13:35:26
阅读次数:
124
静态代码分析Python作为一门动态语言,解释器只会在运行之前检查代码的基本语法,不能进行更加详细的错误分析。例如,"引用未定义的变量", "传递了错误的参数"。这些错误只能在运行的时候被抛出。 静态代码分析 就是用来解决这样问题的技术,它试图在程序未运行之前对代码分析来检查一些可能的错误,避免在运... ...
分类:
其他好文 时间:
2016-08-08 17:12:31
阅读次数:
235
IOS中的动画总结来说有五种:UIView<block>,CAAnimation<CABasicAnimation,CATransition,CAKeyframeAnimation>,NSTimer 一:UIView动画 一般方式 typedef enum { UIViewAnimationTran ...
分类:
移动开发 时间:
2016-08-08 06:28:00
阅读次数:
258
1、引起循环引用的原因 1> A拥有B,B拥有C。当C需要销毁时,发现被B拥有,当B需要销毁时,发现被A用有,从而导致内存泄漏。如NSTimer(NSRunloop拥有NSTimer,NSTimer拥有self); 2> A拥有B,B拥有A。如block作为属性时,使用代理时; 2、打破循环引用 打 ...
分类:
其他好文 时间:
2016-08-06 17:13:45
阅读次数:
154
一:图片轮播器效果如图:能实现自动轮播,到最后一页时,轮播回来,可以实现拖拽滚动 二:代码: 三:知识点总结 1:创建定时器: 1:NSTimer *timer = [NSTimer timerWithTimeInterval:2 target:self selector:@selector(cha ...
分类:
移动开发 时间:
2016-08-04 01:13:45
阅读次数:
984
class MyView: UIView { var lView:UIView! var time:NSTimer! override init(frame: CGRect) { super.init(frame: frame) //开启多点触控 self.multipleTouchEnabled ...
分类:
编程语言 时间:
2016-08-01 17:41:18
阅读次数:
350
[编写高质量iOS代码的52个有效方法](十一)系统框架参考书籍:《Effective Objective-C 2.0》 【英】 Matt Galloway先睹为快47.熟悉系统框架48.多用块枚举,少用for循环49.对自定义其内存管理语义的容器使用无缝桥接50.构建缓存时选用NSCache而非NSDictionary51.精简initialize与load的实现代码52.别忘了NSTimer会保...
分类:
移动开发 时间:
2016-07-29 16:24:51
阅读次数:
321
我们常常会延迟某件任务的执行,或者让某件任务周期性的执行。然后也会在某些时候需要取消掉之前延迟执行的任务。 延迟操作的方案一般有三种: 1.NSObject的方法: 2.使用NSTimer的方法: 3.使用GCD的方法: 一般情况下,我们选择使用GCD的dispatch_after。 因为如果不用G ...
分类:
其他好文 时间:
2016-07-25 09:21:19
阅读次数:
200
NSTimer,是个有爱有恨的类,用起来方便,但是随随便便就可能引用循环了,内存泄露自然不用说了; 怎么方便的使用NStimer,这里小小的总结了下,写的不对的欢迎指出。 首先是习惯问题,为了防止写错,我一般会把NSTimer相关的封到单独的函数里面。 如下: 还有就是,可以尝试一次初始化,一直使用 ...
分类:
移动开发 时间:
2016-07-19 13:17:00
阅读次数:
381
runloop运行循环 1;是个死循环,主线程默认开启,子线程不开启 2;保证程序不退出 3;监听事件,应用场景 1;定时器,时钟,NSTimer,CADisplayLink 2;监听网络端口数据的接收和发送情况,socket开发 iOS 中所有的事件监听全部由运行循环负责 主线程的 RunLoop ...
分类:
其他好文 时间:
2016-07-15 19:57:10
阅读次数:
199