如何在不需要时停止创建对象实例

时间:2011-11-09 13:16:06

标签: iphone objective-c ios

班级确实有

 -(void) trackByPage : (NSString*) pageName {

        TrackPage *track_p;
            = [[TrackPage alloc] init];
            track_p.page1 = @"welcome";
            track_p.page2= self.String1;
            [track_p release];
    }

我从控制器类访问此方法。

- (void)viewDidLoad {

    [super viewDidLoad];
    TrackPageMeasurement *trackPage_Measurement = [[TrackPageMeasurement alloc]init];
    [trackPage_Measurement trackByPage:@"Msg"];
    [trackPage_Measurement release];
}

- (void)selectedDataValue {


    TrackPageMeasurement *trackPage_Measurement = [[TrackPageMeasurement alloc]init];
    [trackPage_Measurement trackByPage:@"DataValue"];
    [trackPage_Measurement release];
}

我通过另一个班级访问它。 trackByPage。通过传递字符串..

每次我访问每次创建对象实例时如何停止这些事情。

2 个答案:

答案 0 :(得分:2)

selectedDataValue不应该致电[super viewDidLoad];这段代码并没有让我充满信心;它看起来更像是你想要检索一些跟踪对象,而不是每次都创建一个新的跟踪对象。你知道单身是什么吗?

使用单身会看起来更像:

TrackPage *track_p = [TrackPage instance];
track_p.page1 = @"welcome";
track_p.page2 = self.String1;

答案 1 :(得分:0)

怎么样

TrackPage *track_p;

if(track_p==nil)
{
      track_p= [[TrackPage alloc] init];
      track_p.page1 = @"welcome";
      track_p.page2= self.String1;

}

[track_p release];