Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
viewDidLoad中init出现iOS内存问题,viewDidUnload中释放_Ios - Fatal编程技术网

viewDidLoad中init出现iOS内存问题,viewDidUnload中释放

viewDidLoad中init出现iOS内存问题,viewDidUnload中释放,ios,Ios,以下代码是否存在任何潜在的内存问题 - (void)viewDidLoad { locationManager = [[CLLocationManager alloc] init]; } - (void)viewWillAppear:(BOOL)animated { locationManager.delegate = self; locationManager.desiredAccuracy = kCLLocationAccuracyBest; locat

以下代码是否存在任何潜在的内存问题

- (void)viewDidLoad
{ 
    locationManager = [[CLLocationManager alloc] init];
}

- (void)viewWillAppear:(BOOL)animated {

    locationManager.delegate = self;
    locationManager.desiredAccuracy = kCLLocationAccuracyBest;
    locationManager.distanceFilter = kCLDistanceFilterNone;
    [locationManager startUpdatingLocation];
}

- (void)viewDidUnload
{
    [locationManager release];
    locationManager=nil;
    [super viewDidUnload];
}

我用仪器检查过,上面的代码显示内存泄漏。

除了:

  • viewDidLoad
    的开头添加
    [super viewDidLoad]
  • 视图的开头将显示:
    添加
    [超级视图将显示:动画]

  • 您应该在dealloc方法中释放locationManager

    - (void)dealloc
    {
        [locationManager release];
        [super dealloc];
    }
    
    原因是
    viewDidUnload
    不保证被调用

    有关详细信息,请参见以下问题:


    你说得对。。。我已经用仪器检查过了,上面的代码有内存泄漏。。这就是为什么我要问这个问题。。。这似乎与dealloc配合得很好。。