一、野指针
1)C语言中的野指针:定义1个指针变量,没有初始化,这个指针变量的值,是一个垃圾值,指向1块儿随机的空间,这个指针,就叫做野指针。
2)OC当中的野指针:指针指向的对象,已经被回收了。这样的指针,就叫做野指针。
例如,有一个Person类:
Person .h文件:
@interface Person : NSObject
– (void)sayHi;
@end
Person.m文件:
@implementation Person
– (void)dealloc
{
NSLog(@“人挂了。。。”);
[super dealloc];
}
– (void)sayHi
{
NSLog(@“大家好。。。”);
}
@end
main.m文件:
#import
#import “Person.h”
int main()
{
Person *p1 = [Person new];
[p1 release];
}
执行[p1 release];这句话之后,p1指针指向的对象就被回收掉了,这是p1指针就是一个野指针。
二、对象回收的本质
1)什么叫做对象的回收:
内存回收的本质:申请1个变
