[置顶] Operation Queue

摘要: 一、Operation Object Operation对象是NSOperation类实例对象,可以在operation中包含应用程序需要执行的任务,使用时需要用到NSOperation的子类。尽管NSOperation是抽象类,但它给子类提供了大量重要的基础设置,除外,Foundation框架提供 阅读全文

posted @ 2017-06-13 14:45 Beche 阅读(193) 评论(0) 推荐(0) 编辑

[置顶] Dispatch Sources

摘要: 一、简介 Dispatch Sources常用于处理跟系统有关的事件,协调处理指定的低级别的系统事件。在配置Dispatch Source时,需指定监控的事件类型、Dispatch Queues、Event Handle(blocks/functions)。当被监控的事件发生时,Dispatch S 阅读全文

posted @ 2017-06-13 11:32 Beche 阅读(465) 评论(0) 推荐(0) 编辑

2017年7月7日

Base64编码详解

摘要: Base64编码过程:将二进制序列转换为Base64字符序列(ASCII码序列)。 一、标准Base64字符表 二、Base64编码示例 编码字符串"Hello!!",输出结果"SGVsbG8hIQ==" 三、Base64编码 原理:一个字节包括8位二进制, 然而字符表总共才64个字符,用6位二进制 阅读全文

posted @ 2017-07-07 18:34 Beche 阅读(536) 评论(0) 推荐(0) 编辑

2017年7月6日

属性存取、直接访问实例变量

摘要: 属性的读取采用点语法,访问对应的set和get方法。而直接访问是直接访问的对象实例的内存。这两者有什么区别?在什么情况应该使用哪种方法呢? 一、区别 直接访问实例变量有如下几种特质。 1、不经过Objective-C的方法派发,直接访问实例变量的内存,速度快。 2、由于没调用set方法,所以绕过了属 阅读全文

posted @ 2017-07-06 11:28 Beche 阅读(143) 评论(0) 推荐(0) 编辑

2017年6月27日

管理关联对象和NSDictionary区别

摘要: 一、问题引出 为类添加关联对象: 为NSDictionary添加对象: objc_setAssociatedObject可以理解为给object对象(NSDictionary),采用policy策略添加key-value记录。 二、区别 1、方法入参数中的key,分别是不透明指针和对象。对象只用调用 阅读全文

posted @ 2017-06-27 16:41 Beche 阅读(148) 评论(0) 推荐(0) 编辑

2017年6月22日

3个Block替换Delegate的场景

摘要: Delegate定义 Block定义 场景一 在一个UIViewController中,存在2个UITable,那么在protocol的方法实现中,需要通过if/else区分是哪一个table,代码就被拉得很长,如果用block替代方案,某个table直接在API方法中传入对应的block即可。 好 阅读全文

posted @ 2017-06-22 14:44 Beche 阅读(177) 评论(0) 推荐(0) 编辑

2017年6月20日

Objective-C消息机制

摘要: 在Objective-C中我们可以向一个实例发送消息(方法调用),实例收到消息后会进行一些处理。 1、实例收到消息后,如果能respondsToSelector,那么就会调用相应的方法。 2、如果不能respond一般情况下会crash。 向一个实例发送一个消息后,系统处理的流程: 1. 发送消息如 阅读全文

posted @ 2017-06-20 17:21 Beche 阅读(137) 评论(0) 推荐(0) 编辑

2017年6月9日

Dispatch Queues调度队列

摘要: 前言-死锁案例 案例分析:运行结果是程序阻塞在dispatch_sync()处。由于main线程执行到dispatch_sync()处,线程处于等待状态。将block任务块添加到主串行队列最后,block等待当前任务(即正在主线程中执行的任务)执行完毕,而当前任务因为阻塞无法结束,导致两边都在等待, 阅读全文

posted @ 2017-06-09 18:40 Beche 阅读(1678) 评论(0) 推荐(0) 编辑

2017年6月5日

DNS64/NAT64 Networks(解决IPv6审核被拒)

摘要: 全文都围绕客户端和服务端之间IPv4与IPv6互转。 一、问题引出 We discovered one or more bugs in your app when reviewed on iPad running iOS 10.3.2 on Wi-Fi connected to an IPv6 ne 阅读全文

posted @ 2017-06-05 18:22 Beche 阅读(2881) 评论(1) 推荐(0) 编辑

2017年5月31日

NSObject的Initialize与Load方法

摘要: 一、Initialize类方法 在类收到第一条消息前调用initialize类方法(lazy,这一点和Java类的“clinit”的很像)。 1、在项目期只执行一次或者不执行,其它线程都会被阻塞等initialize方法执行完毕。 2、在类收到第一次消息之前调用,根据继承体系由上至下依次实例化类,父 阅读全文

posted @ 2017-05-31 17:57 Beche 阅读(230) 评论(0) 推荐(0) 编辑

导航