[nil release]; //空指针(不报错) 空指针指指向的线断了,等于不指向什么内存空间
@class Student 在子类中申明Student是一个类,就不需要写@import "Student.h",因为那样会降低性能,import相当于把所有的头文件都拷贝过去了,在.m文件中写@import "Student.h",因为.m文件中真正要使用Student的那些方法。
@class有些功能 @import是做不到的 当两个类相互包含的时候,相互@import的时候就会出错,但@class相互包含就不会报错,只是什么这是一个类,如果有上百个类都要引用Student这个类,那么用@import的话,只要Student类中有一点点改变,这些都要重新
编译,所以还是用@class比较好
标准的set方法(也就是retain的内部实现机制)
-(void)setBook:(Book*)book{
if(_book != book){
[_book release];
_book = [book retain];
}
标准的dealloc方法
-(void)dealloc{
[_book release];
[super dealloc];
}
标准的初始化方法
- (void)initWithAge:(int)age {
if ( self = [super init]
) {
_age = age;
}
return self;
}
然后创建对象:
Student *stu = [Student alloc]
initWithAge:22];
stu.name = @"dingxiaowei";
NSLog(@"%@",stu);
[stu release];
|