真要命,半天找不到内存泄漏的原因,结果发现是自己把一个类的字母少写了,郁闷。
#import <Foundation/Foundation.h>
#import "goods.h"
#import "selfer.h"
#import "buyer.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
buyer *b=[buyer new];
goods *g=[goods new];
selfer *s=[selfer new];
b.name=@"买家";
b.age=19 ;
b.high=183;
s.name=@"卖家";
s.age=22;
s.high=155;
g.name=@"巧克力";
g.kg=1.23;
g.price=5;
[s setGoods:g];
[g release];
[s release];
[b release];
}
return 0;
}
#import <Foundation/Foundation.h>
typedef struct {
int year;
int month;
int day;
}producedate;
typedef struct {
int year;
int month;
int day;
}expiredate;
@interface goods : NSObject
@property (nonatomic,retain)NSString* name;
@property (nonatomic,assign)int price;
@property (nonatomic,assign)float kg;
@property (nonatomic,retain)NSString* image;
@property (nonatomic,assign ) producedate producedate;
@property (nonatomic,assign) expiredate expiredate;
@end
#import "goods.h"
@implementation goods
-(void)dealloc{
NSLog(@"商品被买家带走了");
[_name release];
[_image release];
[super dealloc];
}
@end
#import "person.h"
#import "goods.h"
@interface selfer : person
{
goods *_goods;
}
@property(nonatomic,retain)goods *goods;
-(void)zhanshi;
@end
#import "selfer.h"
@implementation selfer
-(void)dealloc{
[_goods release];
NSLog(@"卖家走了");
[super dealloc];
}
-(void)zhanshi{
NSLog(@"商品名称:%@,商品价格:%d,商品重量%2f;商品生产日期:%d年-%d月-%d日;商品过期日期:%d年-%d月-%d日;",_goods.name,_goods.price,_goods.kg,_goods.producedate.year,_goods.producedate.month,_goods.producedate.day,_goods.expiredate.
year,_goods.expiredate.month,_goods.expiredate.day);
}
@end
#import "person.h"
@interface buyer : person
@end
#import "buyer.h"
@implementation buyer
-(void)dealloc{
NSLog(@"买家走了");
[super dealloc];
}
@end
#import <Foundation/Foundation.h>
typedef enum {ksexman,ksexwomen}sex;
@interface person : NSObject
{
sex *_sex;
NSString *_name;
int _age;
int _high;
}
@property(nonatomic,assign) sex *sex;
@property(nonatomic,retain) NSString *name;
@property(nonatomic,assign) int age;
@property(nonatomic,assign) int high;
@end
#import "person.h"
@implementation person
-(void)dealloc{
NSLog(@"sdasdasd");
[_name release];
[super dealloc];
}
@end