齐滇大圣的博客

但行好事,莫问前程

iOS里的动态库和静态库

关于动态库和静态库的创建以及理解

介绍 动态库形式:.dylib和.framework 静态库形式:.a和.framework 动态库和静态库的区别 静态库:链接时,静态库会被完整地复制到可执行文件中,被多次使用就有多份冗余拷贝(图1所示) 系统动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存...

泰行

泰国旅行自己剪的片子


iOS Runtime的实际应用

iOS中使用Runtime的实例应用例子解析

没有实际应用的知识讲解都是耍流氓 交换方法 交换方法也就是Method Swizzling,扩展原有类的方法,简单说就是原有类的方法不够用了,在原有方法上给他添加一些功能。有点类似于继承,但比继承更为强大一些。 那什么情况下会用到呢? 比如我给某个类的方法增加了一些实现,如给ViewController的viewWillappear里添加一些实现,如果我所有的类都...

消息处理之performSelector

iOS中的performSelector

performSelector和直接调用方法的区别 performSelector: withObject:是在iOS中的一种方法调用方式。他可以向一个对象传递任何消息,而不需要在编译的时候声明这些方法。所以这也是runtime的一种应用方式。 所以performSelector和直接调用方法的区别就在与runtime。直接调用编译是会自动校验。如果方法不存在,那么直接调用 在编译时候就...

iOS Class结构

iOS中objc_class结构体的分析

objc_class结构体分析 objc_class结构体 类在OC中是objc_class的结构体指针 typedef struct objc_class *Class; 在objc/runtime.h中objc_class结构体的定义如下: struct objc_class { Class isa OBJC_ISA_AVAILABILITY; ...

iOS里的进程跟线程

一些线程死锁问题

1.进程 1.1.多核多任务介绍 iphone4s(A5)开始使用的就是双核处理器了。 单核系统时代计算机经历了从分时系统到多任务系统来实现并发。但是因为单核单CPU情况系统最多只能实现并发而不能实现并行。并发是多动作同时存在,并行是多动作同时执行。 多核CPU出来之后,并发并行都已经没问题了。各种语言也开始支持并行运算,在Objective-C中就是GCD。 在iOS中可以把一个...

iOS里的内存泄露

关于内存管理及内存泄露问题的理解

前言 要讲关于iOS里的内存泄露,那就需要了解一下iOS的内存管理机制。现在基本上我们使用的是ARC机制,在iOS5之前内存管理是MRC机制。MRC秉承着‘谁创建,谁释放,谁引用,谁管理’的理念来管理内存,所以那个时代的iOS程序员还是比较苦逼的,一不小心就导致内存泄露或过度释放了。 我刚开始学iOS开发的时候,基本上已经过度到了ARC,MRC已经用的很少了,听说现在还有人面试的时候会很...

iOS崩溃crash大解析

立志找出iOS崩溃的所有原因

前言 iOS崩溃是让iOS开发人员比较头痛的事情,app崩溃了,说明代码写的有问题,这时如何快速定位到崩溃的地方很重要。调试阶段是比较容易找到出问题的地方的,但是已经上线的app并分析崩溃报告就比较麻烦了。 之前我总是找到一个改一个,并靠别人测试重现来找出问题的地方,这样往往比较耗费时间。而且比较难找到原因的时候每次都是到网上找各种资源搜索,解决了之后也没有认真分析原因及收集,时间长了之...

iOS中的copy

@property中如何使用内存特性copy和strong

为什么声明NSString属性要使用copy 我们在声明一个NSString属性时,其内存相关的特性,我们有两种选择:strong和copy。一般我们都会使用copy,但是为什么使用copy你知道吗? 稍微了解一点的人可能就会觉得这不就是深拷贝和浅拷贝嘛,使用copy就是深拷贝,使用strong就是浅拷贝。 然而真的是这样吗?下面我们来写一个例子: @interface TestSt...

陋室铭

纪念自己的第一个个人博客诞生

前言 山不在高,有仙则名。水不在深,有龙则灵。斯是陋室,惟吾德馨。苔痕上阶绿,草色入帘青。谈笑有鸿儒,往来无白丁。可以调素琴,阅金经。无丝竹之乱耳,无案牍之劳形。南阳诸葛庐,西蜀子云亭。孔子云:何陋之有? 丙申年三月,恰逢双休,记于杭城家中。 正文 这是我的第一个个人博客站,本来想模仿古人写个铭啊序啊之类的,以附庸风雅一下,奈何才疏学浅,苦思冥想之后还是选择放弃。遂摘抄一段刘...