当对象包含其它对象时,就的在dealloc中自己释放它们。
#import <Foundation/Foundation.h>
#import "Eye.h"
@interface Person :NSObject
{
Eye *eye;
}
@property(retain)Eye *eye;
@end
@implementation Person
@synthesize eye;
-(id)init//在类内为实例变量分配空间。
{
self=[superinit];
if (self)
{
eye=[[Eyealloc]init];//初始化。
eye.color=@"break";//为眼睛赋值。
}
returnself;
}
-(void)dealloc//系统自带的不用声明。
{
[eyerelease];
[superdealloc];
}
#import <Foundation/Foundation.h>
@interface Eye : NSObject
{
NSString *color;
}
@property (copy) NSString *color;
@end
#import "Eye.h"
@implementation Eye
@synthesize color;
@end
int main(int argc,constchar * argv[])
{
@autoreleasepool {
Person *p=[[Person alloc]init];
NSLog(@"眼睛的颜色:%@",[[p eye]color]);
[p release];
}
return 0;
}