一、【选择排序】 每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 二、【插入排序】 拿每一个元素和已经有顺序的一...
一、【选择排序】 每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 二、【插入排序】 拿每一个元素和已经有顺序的一...
一、介绍说明 Instrument是性能分析、动态跟踪和分析OS X和iOS代码的测试工具。常见有CPU性能测试、图形性能测试、内存性能测试等,可以让您追踪程序运行的过程,收...
一、内存基本构成可编程内存在基本上分为这样的几大部分:静态存储区、堆区和栈区。他们的功能不同,对他们使用方式也就不同。 堆区:亦称动态内存分配。程序在运行的时候用malloc...
一、Swift 介绍 Swift是苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Objective-C共同运行于MAC OS和iOS平台,用于搭建基于苹果平...
一、内存管理的基本规则 在Objective-C的内存管理中,其实就是引用计数(reference count)的管理。内存管理就是在程序需要时程序员分配一段内存空间,而当使...
多线程为我们带来了很大便利,也提高了程序的执行效率,但同时也带来了Data race(当至少有两个线程同时访问同一个变量,而且至少其中有一个是写操作时,就发生了Data ra...
一、Autorelease Pool是什么 AutoreleasePool(自动释放池)是OC中的一种内存自动回收机制,它可以延迟加入AutoreleasePool中的变量r...
一、按钮点击后先取消之前的操作 二、按钮点击后设为不可点击状态,几秒后恢复 三、使用runtime
在实际开发中,使用Block比delegate和notification更简洁。于是在项目中会大量的使用block。 1、什么是block? block其实就是一个代码块,将...
浅拷贝:只创建一个新的指针,指向原指针的内存深拷贝:创建一个新的指针,并开辟新的内存空间,内容拷贝自原指针指向的内存 一、非容器对象 copy/mutableCopy N...
一、简介 RunLoop是一个对象,这个对象在循环中用来处理程序运行过程中出现的各种事件(比如说触摸事件、UI刷新事件、定时器事件、Selector事件),从而保持程序的持续...
Runtime应用 Runtime简直就是做大型框架的利器。它的应用场景非常多,下面就介绍一些常见的应用场景。 关联对象(Objective-C Associated Obj...
Runtime的特性主要是消息(方法)传递,如果消息(方法)在对象中找不到,就进行转发,具体怎么实现的呢。我们从下面几个方面探寻Runtime的实现机制。 Runtime介绍...
Runtime的特性主要是消息(方法)传递,如果消息(方法)在对象中找不到,就进行转发,具体怎么实现的呢。我们从下面几个方面探寻Runtime的实现机制。 Runtime介绍...
单独使用多线程不难,单独解决UITableViewCell复用带来的问题也不难,但是当两者强强联合的时候就比较让人崩溃了.本文会由浅入深地教你如何用NSOperation自己...
1. 创建队列 //自己创建串行队列 dispatch_queue_t dySerial = dispatch_queue_create("串行队列", DISPATCH_Q...