摘要:
github没有发现符合我心意的,自己造一个 阅读全文
摘要:
(一)@class的用处1.@class的作用:仅仅告诉编译器,某个名称是一个类(#import "Person.h"是要包含所有的方法声明,每次都要复制,不利于提高性能)@class Person; //仅仅告诉编译器,Person是一个类(要实现方法还要在.m文件中包含Person头文件)2.开... 阅读全文
摘要:
1.ARC是Objective-C编译器的特性,而不是运行时特性或者垃圾回收机制, ARC所做的只不过 是在代码编译时为你自动在合适的位置插入release或autorelease,2.ARC准则: 1)只要一个对象没有被强指针指向,就会被自动释放 2)若只有弱指针指向,会把对象释放,然后把弱... 阅读全文
摘要:
预计三天内完成 阅读全文
摘要:
autorelease 是一种支持引用计数的内存管理方式 它可以暂时的保存某个对象(object),然后在内存池自己的排干(drain)的时候对其中的每个 对象发送release消息 注意,这里只是发送release消息,如果当时的引用计数(reference-counted)依然不为0,则该 对... 阅读全文
摘要:
SET方法内存管理情况一:Person类中有一个属性car-(void) setCar:(Car *) car{ _car = car; // line 1}这样做是不妥的,主方法中调用一下说明这个不妥:Person * p = [[Person alloc]init];Car * c = [[C... 阅读全文
摘要:
栈区:从高到低分配堆区:从低到高BSS段:没有初始化的数据区:代码段:OC内存管理方式:1 MRC 手动内存管理2 ARC 自动内存管理nil是给对象赋空值下个有道云笔记内存管理一.总结:1.只有OC对象才需要内存管理,基本数据类型无效2.OC对象存放在堆里面3.非OC对象一般放在栈里面(栈内存会被... 阅读全文
摘要:
1.判断一个实例是否是某个类(或者此类的子类/子子类...)的实例化:[d isKindOfClass:[Dog class]] ;//d为实例化的对象,后面为判断是否是此类(或者此类的子类/子子类...)的实例化的类,代码:#import #import "Dog.h"int main(int a... 阅读全文