自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

黄飞的博客专栏

微信公众号:机器修行

  • 博客(9)
  • 收藏
  • 关注

原创 Runloop 探秘(二)—— NSTimer 计时不准?

有这么一个场景,在界面中除了有 tableView,还有显示倒计时的 Label,当我们在滑动 tableView 的时候,倒计时就停止了,你是否遇到过这种问题?首先来回顾一下 NSTimer 的相关知识。一般的做法是,在主线程(UI 线程)中创建 Timer。会有两种写法,如下所示:// 第一种写法:NSTimer *timer = [NSTimer timerWithTimeInterval:

2017-10-27 17:18:50 851

原创 Runloop 探秘(一)

什么是 Runloop?从字面意思看,Runloop 是一个运行循环,类似跑圈的概念。Runloop 是和线程紧密相关的一个基础组件,是多线程相关的幕后英雄。在平常开发中可能很少碰到,但作为一名力求上进的程序猿,实在有必要了解其相关概念和原理。Runloop 的基本作用保持程序的持续运行;处理 APP 中的各种事件(比如触摸事件、定时器事件、Selector 事件等等)节省 CPU 资源,提高

2017-10-26 15:25:23 691

原创 TCP 与 UDP 对比,以及 TCP 的三次握手与四次挥手

首先是对两个概念的简要说明: TCP(Transmission Control Protocol):传输控制协议; UDP(User Datagram Protocol):用户数据报协议。TCP 与 UDP 相同点TCP 和 UDP 都是在网络层,都是传输层协议,都能保护网络层的传输,双方的通信都需要开放端口。TCP 与 UDP 不同点TCP 是面向连接的协议,UDP 是无连接协议; TCP

2017-10-24 18:57:45 1102

原创 NSString 使用 copy 关键字和 strong 关键字修饰的异同

NSString 为什么要用 copy 关键字,如果用 strong 会有什么问题?当然,这里没有说用 strong 就一定不行,使用 copy 和 strong 是看情况而定的。网上也有很多文章是解释这一点的,但都不够形象清晰,博主的博客风格是力求简单易懂,尽量用实例来说明问题。不说太多废话,用最简单的例子来说明问题,直接上代码和运行截图: 通过上面的例子可以看出,当使用 strong 修饰 N

2017-10-20 17:40:05 1812

原创 代理属性为何要用 weak 修饰?

代理模式在 IOS 开发中的使用频率非常之高,然而很多人只是单纯地惯性使用,并没有弄清楚一点——要用 weak 修饰代理属性,今天就来细说这其中的缘由。用一个实例进行说明(一共有三个类,BabyView 类,BabySitterView 类,ViewController 类,假设 BabyView 类想要做一些自己无法做的事情,就必须具有代理的属性,因此指定一个协议,而 BabySitterView

2017-10-19 11:25:37 1405

原创 LeetCode 001 —— Two Sum

博主喜欢在闲暇时写点算法题目活跃活跃思维,之前在许多在线平台都有尝试过,比如北京大学的 POJ,浙江大学的 ZOJ,华为研究院自己研发的华为OJ等等,各有各的特色。最近很长一段时间华为OJ 平台外网登不上去了,很是遗憾,本着满腔热血,开启了 LeetCode OJ 平台的征战。这是在该平台的第一个题目,非常简单,也正好重温一下 C++ 基础知识。题目描述: 解题思路: 非常简单,若不是十分在意耗

2017-10-17 20:40:13 464

原创 为什么说 Objective-C 是一种动态语言?

为什么说 Objective-C 是一种动态语言?这看起来似乎是一个简单而不简约而又老生常谈的问题,然而真正弄懂 Objective-C 的动态特性,三言两语还真是说不清楚。Objective-C 是 C 的超集,在 C 语言的基础上添加了面向对象的特性,并且用 Runtime 这个运行时机制,为 Objective-C 增添了动态的特性。这篇文章不以博大精深的 Runtime 作为重点,而以开发过

2017-10-17 17:23:30 2286

原创 深度理解并设置 placeholder 属性,定制自己的 textField

textField 是 IOS 开发中比较常用的控件,绝大多数时候,系统所提供的简易 textField 功能是不够的。面对 UI 给出的各种属性和特点,需要 DIY 具有较强扩展功能的 textField,此时,就需要了解 textField 的一些深层属性。placeholder 是 textField 中比较重要和常用的属性,在剖析 placeholder 之前,先来讲讲如何给 textFie

2017-10-14 21:00:12 2220

原创 IOS MD5加密

在软件开发过程中,对数据的加密是保证数据安全的重要手段,在 IOS 开发中,对于发送的网络请求,有时候是需要进行加密处理的,例如,采用阿里云的直播方案,在获取推流地址时,需要对 Token 地址进行加密处理。MD5 加密是一种比较常见的加密算法,它是一种特殊的加密方式。针对其独特性,总结为以下几点:1. 长度固定 不管多长的字符串,加密之后都是一样的长度。2. 容易计算 字符串和文件的加密过程是

2017-10-11 16:53:54 7905

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除