一、面向对象和封装面向对象的三大特性:封装(成员变量)、继承和多态在OC语言中,使用@interface和@implementation来处理类。@interface就好像暴露在外面的时钟表面,像外界提供展示以及接口。@implementation就好像隐藏在时钟内部的构造实现,把具体的实现封装了起...
分类:
其他好文 时间:
2014-08-18 00:12:03
阅读次数:
218
属性与内存管理(属性与内存管理都是相互关联的)第一部分
一,属性:
属性是OC2.0之后出来的新语法,用来代替setter和getter方法,使用属性可以快速创建setter以及getter方法的声明,setter和getter方法的实现,另外添加了对实例变量操作的安全处理(其安全是通过内存管理实现的)
setter 方法作用:为单一的实例变量重新赋值, 规范: (- 号方法)无返回值, 名...
分类:
其他好文 时间:
2014-08-17 22:47:22
阅读次数:
240
一、基本原理(一)为什么要进行内存管理。由于移动设备的内存极其有限,所以每个APP所占的内存也是有限制的,当app所占用的内存较多时,系统就会发出内存警告,这时需要回收一些不需要再继续使用的内存空间,比如回收一些不再使用的对象和变量等。管理范围:任何继承NSObject的对象,对其他的基本数据类型无...
分类:
其他好文 时间:
2014-08-17 18:27:22
阅读次数:
303
降序排序NSMutableArray *arr = [NSMutableArray arrayWithObjects:@"abc",@"bcd",@"123",@"9987", nil];
NSComparisonResult (^block)(NSString *str1, NSString *str2) = ^(NSString *str1, NSString...
分类:
其他好文 时间:
2014-08-17 10:27:52
阅读次数:
153
当需要使用int类型的变量的时候,可以像写C的程序一样,用int,也可以用NSInteger,但更推荐使用NSInteger,因为这样就不用考虑设备是32位的还是64位的。可以看如下定义:#if__LP64__||(TARGET_OS_EMBEDDED&&!TARGET_OS_IPHONE)||TA...
分类:
移动开发 时间:
2014-08-17 02:19:51
阅读次数:
232
做app的时候,总免不了要多次遍历数组或者字典。究竟哪种遍历方式比较快呢?我做了如下测试:首先定义测试用宏:?123456789#define MULogTimeintervalBegin(INFO) NSTimeInterval start = [NSDate timeIntervalSinceR...
分类:
移动开发 时间:
2014-08-17 00:57:31
阅读次数:
286
objective-c中#import和@class的区别在Objective-C中,可以使用#import和@class来引用别的类型, 但是你知道两者有什么区别吗?@class叫做forward-class, 你经常会在头文件的定义中看到通过@class的引用,原因就是当你只用@class来引入...
分类:
其他好文 时间:
2014-08-16 23:47:21
阅读次数:
176
1、引入头文件以及框架 : @import XXXX XXXX表示需要引入的文件/框架2、头文件引用循环:两个头文件相互包含时,将其中一个头文件的类用@class引入3、设置边角幅度 :[ XX.layer setCornerRadius:100 ] ; XX表示需要设置边角的对象,一般...
分类:
其他好文 时间:
2014-08-16 23:42:11
阅读次数:
211
首先先看几道block相关的题目
看看能否答对两三个。主要涉及block栈上、还是堆上、怎么捕获变量.本章博文比较长,前面部分是block的测试题目,中间是block的语法、特性,block讲解block内部实现和block存储位置,请读者耐心阅读。...
分类:
其他好文 时间:
2014-08-16 22:31:21
阅读次数:
303
原地址:http://www.cnblogs.com/U-tansuo/archive/2012/11/22/unity_ios-plugin.html说起unity调ios插件,好多淫比较头痛,探索再此给大家献上通用手册。首先:需要需要一些OC知识,在OC中所有的界面都是基于View显示的,而要使...
分类:
移动开发 时间:
2014-08-16 18:22:30
阅读次数:
383