发布已自动释放的保留财产?

时间:2011-05-24 21:33:11

标签: iphone objective-c memory-management retain

嘿所有人。我试图理解这个问题让我很头疼。我有一个NSNumber类型的保留属性。当我使用这个属性时,我用自动释放的NSNumber实例化它。当dealloc被调用时,我得到了糟糕的访问权,告诉我我发布了已经发布的内容。这是一些代码。

@interface RadarAnnotation : NSObject <MKAnnotation> {    
 }
@property (retain, nonatomic) NSNumber *latitude;
@end

@implementation RadarAnnotation

@synthesize latitude;

- (CLLocationCoordinate2D)coordinate
 {
coordinate.latitude = [self.latitude doubleValue];
return coordinate;
}

 -(void) dealloc {
[super dealloc];
[latitude release];//error is here when mapViewController is popped off stack.
}

以下是我在mapViewController中实例化属性的方法:

poi.latitude = [NSNumber numberWithDouble:map.centerCoordinate.latitude];

我做错了什么?非常感谢。朱。

1 个答案:

答案 0 :(得分:1)

你应该在dealloc方法的末尾调用[super dealloc]。