03 2018 档案
GCD(III)
摘要:GCD 线程间的通信 在iOS开发过程中,我们一般在主线程里边进行UI刷新,例如:点击、滚动、拖拽等事件。我们通常把一些耗时的操作放在其他线程,比如说图片下载、文件上传等耗时操作。而当我们有时候在其他线程完成了耗时操作时,需要回到主线程,那么就用到了线程之间的通讯。 1 // GCD 线程间的通信
阅读全文
GCD(II)
摘要:主队列 组队列是串行队列,全局队列属于并发队列。 同步执行 + 主队列 同步执行 + 主队列在不同线程中调用结果也是不一样,在主线程中调用会出现死锁,而在其他线程中则不会。 在主线程中调用同步执行 + 主队列 互相等待卡住不可行 1 - (void)syncMain { 2 3 NSLog(@"cu
阅读全文
Runtime(IV) - 序列化与反序列化
摘要:准备条件 父类 Biology Biology.h Biology.m 子类 Person Person.h Person.m 在iOS中一个自定义对象是无法直接存入到文件中的,必须先转化成二进制流才行。从对象到二进制数据的过程我们一般称为对象的序列化(Serialization),也称为归档(Ar
阅读全文
GCD (I)
摘要:GCD是什么?这个概念我就不说了,不会的在百度搜索框搜【GCD】 子线程开启以后占用内存512KB,Main线程开启以后占用内存1M,开销比较大。 多线程中的几个概念名词: 任务 和 队列 任务: 就是执行操作的意思,换句话说就是你在线程中执行的那段代码。在 GCD 中是放在 block 中的。执行
阅读全文
GitHub 代码上传
摘要:方法一 登录GitHub后,点击下面的图 New responsitory 按钮 或者点击绿色按钮 New repository,新建一个新建一个远程仓库(remote repository),点击后会进入如下页面: Repository name 库名( 最好用英文) Description 描述
阅读全文
Block 循环引用(中)
摘要:不会造成循环引用的block 大部分GCD方法 因为self并没有对GCD的block进行持有,没有形成循环引用。目前我还没碰到使用GCD导致循环引用的场景,如果某种场景self对GCD的block进行了持有,则才有可能造成循环引用。 block并不是属性值,而是临时变量 这里因为block只是一个
阅读全文
Block 循环引用(上)
摘要:iOS的内存管理机制 Objective-C在iOS中不支持GC(垃圾回收)机制,而是采用的引用计数的方式管理内存。 引用计数:在引用计数中,每一个对象负责维护对象所有引用的计数值。当一个新的引用指向对象时,引用计数器就递增,当去掉一个引用时,引用计数就递减。当引用计数到零时,该对象就将释放占有的资
阅读全文
依赖注入
摘要:依赖注入就是注入依赖,或者简单的说,设置不同实例之间的关系。一些人将它同好莱坞的一条规矩关联了起来,“不要给我打掉话,我打给你。”我更喜欢叫它“bugger”法则:“我不关心你是谁,按我说的做。”在我们的第一个例子中,Car依赖的是Engine的具现类MooseEngine。当一个类A依赖于另外一个
阅读全文
浙公网安备 33010602011771号