- 博客(15)
- 收藏
- 关注
转载 KVO陷阱
KVO,全称为Key-Value Observing,是iOS中的一种设计模式,用于检测对象的某些属性的实时变化情况并作出响应。网上广为流传普及的一个例子是利用KVO检测股票价格的变动,例如这里。这个例子作为扫盲入门还是可以的,但是当应用场景比较复杂时,里面的一些细节还是需要改进的,里面有多个地方存在crash的危险。本文旨在逐步递进深入地探讨出一种目前比较健壮稳定的KVO实现方案,弥补网上大部分
2016-12-19 10:32:00
320
转载 TCP Socket客户端,以及解决长连接的办法
1.1 TCP Socket客户端客户端的工作流程:首先调用socket函数创建一个Socket,然后指定服务端的IP地址和端口号,就可以调用sendto将字符串传送给服务器端,并可以调用recvfrom接收服务器端返回的字符串,最后关闭该socket。笔者这里分成了六步:第一步:创建socket并配置socket第二步:调用bind绑定监听ip和端口号第三步:调用connect连
2016-09-06 21:35:19
14613
转载 HTTP的基础理解
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。HTTP协议的主要特点可概括如下:1.支持客户/服务器模式。
2016-09-06 21:32:26
377
原创 ios-Runloop
1.Runloop的实现原理,请查看该博客:http://www.jianshu.com/p/37ab0397fec7 或 http://blog.ibireme.com/2015/05/18/runloop/个人笔记:一.调用主线程的run loop进行阻塞的各种方式:[[NSRunLoop mainRunLoop] run]; //主线程永远等待,但让出主线
2016-08-13 21:48:06
377
转载 不再安全的 OSSpinLock
OSSpinLock 的问题2015-12-14 那天, swift-dev 邮件列表里 有人在讨论 weak 属性的线程安全问题,其中有几位苹果工程师透露了自旋锁的问题,对话内容大致如下:新版 iOS 中,系统维护了 5 个不同的线程优先级 /QoS: background , utility , default , user-initiated , user-int
2016-08-09 22:34:48
582
转载 ZFPlar的使用
源码下载地址:https://github.com/renzifeng/ZFPlayer由于有朋友推荐,看了下ZFPlayer,觉得功能和封装都写的很好,就把源码看了一遍,现在看源码已经养成了一个习惯,就是把自己在源码中不太熟悉的地方记录下来,还有就是尽量捕捉作者的思路。打开demo,先看主控制器主要的方法有两个:// 哪些页面支持自动转屏- (B
2016-08-08 19:53:23
1233
转载 kvo使用过程中的陷阱
KVO,全称为Key-Value Observing,是iOS中的一种设计模式,用于检测对象的某些属性的实时变化情况并作出响应。网上广为流传普及的一个例子是利用KVO检测股票价格的变动,例如这里。这个例子作为扫盲入门还是可以的,但是当应用场景比较复杂时,里面的一些细节还是需要改进的,里面有多个地方存在crash的危险。本文旨在逐步递进深入地探讨出一种目前比较健壮稳定的KVO实现方案,弥补网上大部分
2016-07-19 17:32:27
293
原创 基础控件篇(1)-UItableView
UItableView(继承自UIscrollView)与其相关的协议是UITableViewDelegate (tableView的一些属性设置)UITableViewDataSource(tableView的数据来源)基础使用步骤:1.设置delegate,和DataSource两个代理;2.实现两个协议当中的方法;UITableViewDataSour
2016-07-02 19:39:35
282
转载 自定义UIView时怎么样设置背景图片。
第一种方法:利用的UIView的设置背景颜色方法,用图片做图案颜色,然后传给背景颜色。UIColor *bgColor = [UIColor colorWithPatternImage: [UIImage imageNamed:@"bgImg.png"]; UIView *myView = [[UIView alloc] initWithFrame:CGRec
2016-05-27 17:46:27
767
转载 自定义UI的时候,通常到CGContextRef进行绘图,以下为详细API的叙述
Graphics Context是图形上下文,可以将其理解为一块画布,我们可以在上面进行绘画操作,绘制完成后,将画布放到我们的view中显示即可,view看作是一个画框.Quartz提供了以下几种类型的Graphics Context:Bitmap Graphics ContextPDF Graphics ContextWindow Graphics ContextLayer
2016-05-27 17:42:45
394
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人