摘要: 1、内存管理有4个基本规则,这些规则不只是在MRC模式下有效,在ARC模式下也是同样有效的。区别只在于在MRC模式下要手动遵循这些规则,在ARC模式下编译器会自动处理。这4个基本规则如下: (1)、自己会持有自己生成的对象(You own any object you create): 使用“all 阅读全文
posted @ 2016-08-18 14:15 杨淳引 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 1、最近在重读当年刚开始学习多线程时的笔记,发觉其中有一些地方还是比较容易模糊,于是整理这篇笔记记录一下。 执行方式和队列 2、队列用来存放管理要执行的任务,它分为并发队列(Concurrent Dispatch Queue)和串行队列(Serial Dispatch Queue): 并发队列:队列 阅读全文
posted @ 2016-07-10 20:26 杨淳引 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 关联对象 14、使用Category对类进行拓展的时候,只能添加方法,而不适合添加属性(可以添加属性,也可以正常使用get方法和set方法,只是不会自动生成以下划线开头命名的成员变量)。 可以通过关联对象(Associated Objects)来在Category里添加一个关联对象,然后将这个对象当 阅读全文
posted @ 2016-07-07 10:52 杨淳引 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 消息发送(Messaging) 8、以上便是runtime相关的一些数据结构,接下来我们回看一开始的疑问: objc_msgSend()函数在执行的过程中是如何找到对应的类,找到对应的方法实现的呢? 这就是消息发送(messaging)的处理过程了: (1)、对于上文的Class的数据结构的描述,官 阅读全文
posted @ 2016-07-06 22:28 杨淳引 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 基本简介 1、根据官方文档,OC有一个特性:它会尽可能把一些决定从编译时和链接时推迟到运行时才处理,所以这门语言需要的就不只是一个编译器,它还需要一个runtime系统来处理那些已经被编译过的代码。 2、runtime有两种:legacy runtime和modern runtime,区别在于: ( 阅读全文
posted @ 2016-07-06 17:14 杨淳引 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 1、什么是Run Loop? (1)、Run Loop是线程的一项基础配备,它的主要作用是来让某一条线程在有任务的时候工作、没有任务的时候休眠。 (2)、线程和 Run Loop 之间的关系是一一对应的,但是并不是说新开一条线程就会自动生成这条线程对应的Run Loop,每一条线程里的Run Loo 阅读全文
posted @ 2016-05-06 14:46 杨淳引 阅读(295) 评论(0) 推荐(0) 编辑
摘要: EXC_BAD_ACCESS算是一个比较常见的错误,大部分情况下,它出现在某个对象还未初始化或已被释放后,还去试图访问这个对象的时候,即是在出现悬挂指针的时候(当然也有非悬挂指针导致的EXC_BAD_ACCESS)。在MRC机制下,EXC_BAD_ACCESS相对会出现得比较多,毕竟手动管理引用计数 阅读全文
posted @ 2016-03-29 20:15 杨淳引 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 项目源码下载地址: https://github.com/ShayneYeorg/Meditashayne 1、首先一开始设计这个App的时候,我就希望它能比系统自带的备忘录更方便:比如备忘录需要手动去点击一下保存,我希望我的App可以省略掉点击保存这一步,只需要退出随笔的详情页面便可自动保存内容。 阅读全文
posted @ 2016-03-16 16:25 杨淳引 阅读(421) 评论(0) 推荐(0) 编辑
摘要:   去年做ondine时,被iOS的证书搞得很是头大,做完了之后感觉一片混乱,印象也不是很深。最近又发布了meditashayne,个人的第二个App,也就重温了一下证书的一些相关操作。这一次的理解比较深了,总结了一些基本要点如下: 首先要在电脑上的Keychain里生成一个CertificateS 阅读全文
posted @ 2016-03-15 10:48 杨淳引 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 最近准备做一个随手笔记类的app给自己用,考虑到从未使用过Core Data,就决定用Core Data来做数据存储。在网上参考了一些Core Data的资料后,用一天的时间写了这个demo,主要测试了增删改查,以及排序和分页这些基本功能。 demo的代码可以在GitHub上下载: https:// 阅读全文
posted @ 2016-02-04 15:18 杨淳引 阅读(266) 评论(0) 推荐(0) 编辑