一段代码,关于release有关问题

一段代码,关于release问题
在Car.h中:
@interface Car : NSObject {
  NSString *name;
}
- (NSString *)name;
- (void)setName:(NSString *)aName;
@end


在Car.m中:
@implementation 
- (NSString *)name {
  return name;
}
- (void)setName:(NSString *)aName {
  [aName retain];
  [name release]; 
  name = aName;
}
@end


大侠看看代码有没有问题

------解决方案--------------------
car要加一个dealloc的函数 把name release掉
------解决方案--------------------
aname不要release吗?
------解决方案--------------------
aname不要release吗?
------解决方案--------------------
[aName retain]; 计数+1
 [name release]; 计数-1
所以还可以用