protocol:协议想要拥有某些方法声明通过:// : 继承父类// 遵守协议协议:就是用来声明方法的,想要拥有某些方法声明,只需要遵守协议。1.协议的定义@protocol协议名称 //方法声明列表....@end// 定义了一个名叫MyProtocol的协议@protocol MyPro...
分类:
移动开发 时间:
2015-02-26 16:12:00
阅读次数:
152
block是一种数据类型---就需要定义一种变量保存这种类型。作用:用来保存一段代码,而且在程序运行过程中也可以保存。Block定义int (^MySum)(int, int) = ^(int a, int b) { return a+b;};定义了一个叫MySum的blocks对象,它带有两...
分类:
移动开发 时间:
2015-02-26 14:45:25
阅读次数:
168
OC中的字符串: C中没有字符串类型,用字符数组和指针代替。 OC中引入了字符串类型,它包括NSString 和 NSMutableString两种 NSString是不可变的,已经初始化便不能更改;NSMutableString是可变的,可以对自己进行修改操作的。这类似于Java里的Stri...
分类:
其他好文 时间:
2015-02-26 14:41:42
阅读次数:
257
iOS mac oc protobuf protoc...
分类:
移动开发 时间:
2015-02-25 17:10:00
阅读次数:
150
staticstatic用于定义静态变量,静态变量只会被初始化一次,并且直到程序销毁时才会释放static NSString *str = @"asdfa";constconst用于定义常量NSString* const URL = @"www.baidu.com";extern(外部变量)exte...
分类:
其他好文 时间:
2015-02-25 15:20:06
阅读次数:
106
(一)自动内存管理 --ARC1>简单点说就是让编译器完成堆空间的引用计数的加减,自动释放,程序员不再写retain 和release等方法 2>OC的自动内存管理不同于java 的垃圾回收,而是在预处理是直接在应该保留的地方加上retain,在应该改释放的地方加上release,是直接添加代码 ....
分类:
移动开发 时间:
2015-02-25 00:40:05
阅读次数:
151
掌握内容>理解内存管理的原理>掌握手动内存管理MRC>掌握内存管理在实际工程中的使用(一)1.理解部分 1.1内存管理 (传统内存管理demo)1.1.1内存管理做了一件什么事? 内存管理就是确保开辟的堆空间得到正确的释放 如果堆空间没有释放,称为内存泄露 使用已释放的堆空间,称为...
分类:
移动开发 时间:
2015-02-24 18:36:49
阅读次数:
158
(一)类的本质1.类也是个对象其实类也是一个对象,是Class类型,简称“类对象”。// Class类型的定义typedef struct objc_class *Class;// 类名就代表着类对象,每个类只有一个类对象2.+load和+initialize+load> 在程序启动的时候会加载所有...
分类:
移动开发 时间:
2015-02-24 17:26:53
阅读次数:
215
需求:如何在不改变原来类模型的前提下,给类扩充一些方法?有2种方式>继承>分类(Category)(一)了解Catagory1.Catagory,可以动态的为已经存在的类添加新的行为(方法),功能扩展,使用Category对类进行扩展时,不需要创建子类.Category使用简单的方式,实现了类的相关...
分类:
移动开发 时间:
2015-02-24 16:19:51
阅读次数:
181
小知识补充一、 id1. 简介万能指针,能指向任何OC对象,相当于NSObject *id类型的定义typedef struct objc_object { Class isa;} *id;2. 使用// 注意:id后面不要加上*id p = [Person new];3. 局限性调用...
分类:
移动开发 时间:
2015-02-24 16:19:36
阅读次数:
141