- 博客(11)
- 收藏
- 关注
转载 oc----内存管理之内存释放原则
内存释放原则: 谁创建,谁释放; 由谁创建,由谁释放; 在哪创建,在哪释放; (1)无论声明了几个对象指针,都要一一调用release方法进行解除绑定;创建了哪个指针,就由哪个指针调用release方法。 (2)在哪进行对象指针的创建,在执行操作之后就要在同一块{} 即域中进行指针的release方法的调用,在出域之前对它进行释放。 (3) 如果一个对象指
2015-08-20 11:06:41
427
原创 oc----分类
分类 1.非正式协议与正式协议区别 2.对原有的类添加一些功能(方法)作为源类扩展,他的功能是扩展类的能力.为一个类创建分类,其实就是把它的实现分成几部分来实现。每个类别都是类的一部分。你可以为一个类写很多分类,这些分类都是原有类的一部分,其中的成员也会被原有类的子类继承。一个类可以有多个分类,但是每一个分类中,只可以为原有类增添方法,不能增添实例变量。 3.尽管分类可以访问原始
2015-08-20 11:04:36
369
原创 oc ------协议
http://blog.youkuaiyun.com/braddoris/article/details/24620199 1. ObjC中不支持多重继承,但可以使用协议和分类来实现多重继承的效果。 (在java和c#中也没有多重继承的概念,取而代之的是接口,而在我们ObjC中我们使用的是协议和分类,类似于c++中的抽象类) 2.协议不是一个真正的类:它只能声明方法
2015-08-20 11:03:43
404
原创 oc Foundation框架 Number类 Array类
Cocoa是苹果公司为Mac OS X所创建的原生面向对象的API,是Mac OS X上五大API之一(其它四个是Carbon、POSIX、X11和Java)。 API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节
2015-08-20 10:45:13
360
原创 oc 字符串类NSString
字符串类各种操作: 我们C语言中的字符串由一组char字符组成,但是ObjC中的字符串是由一组unichar字符组成。Unichar字符一般占2个字节,所以ObjC中的字符串可以盛放更多的字符数据。并且我们也不用关心字符串内部的表示形式,系统会自动管理 使用NSString处理的都是不可变的字符串,即你不能更改字符串中的任何字符。类似于指向常量的指针 NSString
2015-08-20 10:34:57
324
原创 oc字典类总结
1.字典是由一对键值对对象所组成的数据的集合,从Objective-C 的字典中可以根据键获得它所对应的值 2.字典中的键必须是唯一的,一般是字符串。与键关联的值,可以是任何对象类型的值,但它不能为nil 3.NSDictionary常用的方法: //以多个元素进行初始化 NSDictionary *date=[NSDictionary dictionaryWi
2015-08-19 17:55:07
336
转载 内存管理与引用计数器机制
内存管理与引用计数器机制 1.内存管理:当程序需要空间,则手动分配空间。当空间或其他资源不再需要时,手动回收。 2.内存管理的必要性: 当涉及ObjC的根类NSObject或其派生类时,我们往往会使用alloc方法申请内存,通过向对象发送release消息回收内存。但是,事情不总是这么简单。正在运行的应用程序可能在多个地方会引用你创建的对象;比如,一个对象可以被存储在
2015-08-16 11:48:41
1610
转载 oc内存管理 ---自动释放池
自动释放池 1、新版的自动内存释放使用@autoreleasepool关键字声明一个代码块,如果一个对象在初始化时调用了autorelease方法,那么当代码块执行完之后在块中调用autorelease方法的对象都会自动调用一次release方法。这样一来就起到了自动释放的作用,同时对象的销毁过程也得到了延迟(统一调用release方法) 2、也有别的版本使用如下格式建立自动释放池:
2015-08-15 20:45:49
561
转载 oc 关于属性声明
1.在obj2.0中可以声明属性让编译器自动合成setter和getter方法: 所用关键字:@property和@synthesize。二者需要配对使用。@property是在头文件的类中对setter和getter方法进行声明的,而@synthesize是在.m文件内对声明的方法进行实现的,格式如下: @synthesize 成员名1,成员名2,,, 而在
2015-08-15 15:47:38
1779
原创 内存分配与初始化
if(self=[super init])其中 self表示调用方法的子类对象 super表示父类引用 作用:初始化子类对象 self = [super init] self指向了父类初始化的内存地址。类的初始化函数如果失败会返回nil,随后self也为nil。如果成功返回一个子类对象地址赋给self; 那么 if(self = nil),你往下的初始化工作都是对nil做的
2015-08-14 21:03:33
771
1
原创 oc 关于头文件声明 与前向声明
参照 http://blog.youkuaiyun.com/jiangwei0910410003/article/details/41774747 1.#import和#include的区别 (当我们在代码中使用两次#include的时候会报错:因为#include相当于拷贝头文件中的声明内容,所以会报重复定义的错误 但是使用两次#import的话,不会报错,所
2015-08-13 20:02:18
2226
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人