01 2016 档案

摘要:用OC实现的冒泡排序、选择排序、矩阵相乘,纯粹是用来练习语法。 冒泡排序,程序如下: void bubbleSort() { //初始化数组 NSMutableArray *array1 = [[NSMutableArray alloc] initWithCapacity:8]; [array1 a 阅读全文
posted @ 2016-01-27 21:44 acBool 阅读(512) 评论(0) 推荐(0) 编辑
摘要:通常情况下,一个app由多个控制器组成,当app中有多个控制器的时候,我们就需要对这些控制器进行管理。在开发过程中,当有多个View时,可以用一个大的view去管理多个小的view,控制器也是如此,可以用一个控制器去管理多个控制器。比如,用一个控制器A去管理3个控制器B、C、D,则控制器A是控制器B... 阅读全文
posted @ 2016-01-25 21:26 acBool 阅读(1198) 评论(2) 推荐(1) 编辑
摘要:Block 是从 iOS4引入的,在日常开发中,会经常用到Block。特别是在多线程中,Block的用处更广泛。而且,Block不仅可以接收参数,其本身也可以作为参数,因此,Block的功能非常强大。简单介绍一些Block的使用。首先看一个Block的简单定义:BOOL (^isInputEven)... 阅读全文
posted @ 2016-01-21 22:14 acBool 阅读(1514) 评论(0) 推荐(0) 编辑
摘要:很多语言中都有深复制浅复制的概念,如C++,ObjC等。简单来说,浅复制就是两个变量指向了同一块内存区域,深复制就是两个变量指向了不同的内存区域,但是两个内存区域里面的内容是一样的。浅复制示意图:深复制示意图:iOS开发中,浅复制和深复制要更复杂一些,涉及到集合对象和非集合对象的copy与mutab... 阅读全文
posted @ 2016-01-20 21:31 acBool 阅读(2123) 评论(0) 推荐(2) 编辑
摘要:在一些开发语言中,内存管理使用的是引用计数的方法,比如Python、ObjC等。采用引用计数,开发人员不需要管理内存,能够从内存管理繁琐的工作中脱离出来,从而将更多的精力花费在开发程序上。引用计数的原理:Python和Objc中的每个对象内部都维护着一个引用计数器,当新建一个对象,或者有其他对象引用... 阅读全文
posted @ 2016-01-19 22:24 acBool 阅读(729) 评论(8) 推荐(0) 编辑
摘要:单例模式是日常开发工作中经常会用到的一种设计模式。通过单例模式,可以保证程序中的一个类只有一个实例,从而方便对实例个数的控制以节省系统资源。因此,如果希望系统中的某个类只有一个实例,那单例模式是比较好的解决方案。iOS开发中,最常见的单例就是UIApplication。简单介绍一下iOS中如何实现单... 阅读全文
posted @ 2016-01-17 18:33 acBool 阅读(254) 评论(0) 推荐(0) 编辑
摘要:在iOS开发中,苹果提供了三种多线程技术,分别是:(1)NSThread(2)NSOperation(3)GCD简单介绍一下GCD的使用。GCD全称 Grand Central Dispatch,可以称之为大中央调度。实际上GCD是管理着一个线程池,如何创建线程,如何回收线程,以及分配多少个线程,这... 阅读全文
posted @ 2016-01-17 12:44 acBool 阅读(2041) 评论(0) 推荐(2) 编辑
摘要:题目一: 有一个猎人和一只狼,一个大人A和大人A的两个小孩,一个大人B和大人B的两个小孩。这群人要过河,只有一条船。 条件如下:(1)这条船每次只能坐两个人 (2)狼也算一个人(3)4个小孩不会划船,当然狼也不会划船,也就是说,每次到河对岸,至少需要一个大人陪同 (4)只有猎人对狼有威慑力,如果... 阅读全文
posted @ 2016-01-16 23:33 acBool 阅读(369) 评论(0) 推荐(0) 编辑
摘要:​​iOS开发中,在使用一些第三方库时,可能是一个静态库(比如GPUImage)。这种情况下,需要编译出静态库文件(.a) ,然后配合响应的头文件(.h 文件)使用。编译静态库,直接在Xcode中编译即可,有一个细节需要注意。平常的开发调试中,我们既可以用模拟器调试,也可以用真机调试。实际上,模拟器... 阅读全文
posted @ 2016-01-15 16:21 acBool 阅读(1849) 评论(0) 推荐(0) 编辑
摘要:在Java中,当需要画一些特殊的形状时,比如说椭圆、矩形等,可以使用 Graphics2D 来绘图。一些API:g.drawLine(3,3,50,50);//画一条线段g.drawRect(80,100,40,25);//画线框g.drawOval(10,10,60,120);//画椭圆//画多边... 阅读全文
posted @ 2016-01-12 21:53 acBool 阅读(6275) 评论(0) 推荐(0) 编辑
摘要:1:分配方式和回收方式 栈得分配方式有两种,分别是静态分配和动态分配,无论是哪一种方式,栈空间的回收都是由操作系统处理的。即程序员不需要对栈空间进行处理,操作系统会帮助我们回收栈空间。 堆得分配方式只有动态分配。堆中分配的空间,需要程序员自己去释放。如果没有释放,会造成内存泄露。2:大小以及结构... 阅读全文
posted @ 2016-01-06 21:47 acBool 阅读(238) 评论(0) 推荐(0) 编辑