0

viewDidUnloadはios6では許可されていないため、viewDidUnloadとdidReceiveMemoryWarningの互換性を呼び出す方法。私は欲しい

- (void)viewDidUnload{

self.listArr=nil;

[super viewDidUnload];
}  




 - (void)didReceiveMemoryWarning
{

[super didReceiveMemoryWarning];
float sysVer =[[[UIDevice currentDevice] systemVersion] floatValue];
if (sysVer>= 6.0f){
    if([self isViewLoaded] && !self.view.window){
        self.listArr=nil;

        self.view = nil;
    }
}

 NSLog(@" BrowseComment didReceiveMemoryWarning");

}

または、ios5とios6で次のコードのみを使用してください

- (void)didReceiveMemoryWarning
{

[super didReceiveMemoryWarning];

    if([self isViewLoaded] && !self.view.window){
        self.listArr=nil;

        self.view = nil;
    }


 NSLog(@" BrowseComment didReceiveMemoryWarning");

}

4

2 に答える 2

0

iOS 6では、UIViewControllerのviewWillUnloadメソッドとviewDidUnloadメソッドは非推奨になりました。これらのメソッドを使用してデータを解放する場合は、代わりにdidReceiveMemoryWarningメソッドを使用してください。このメソッドを使用して、ビューコントローラのビューが使用されていない場合は、そのビューへの参照を解放することもできます。

現在で使用しているコードviewDidUnloadはに移動する必要があります didReceiveMemoryWarning。iOS5とiOS6の両方で動作します。実際、この変更が発生する前viewDidUnloadは、アプリケーションがメモリ警告を受信した場合にのみメソッドが呼び出されます。したがってviewDidUnload、特別な意味はありません。したがって、彼らはそれを非推奨にします。

于 2013-02-19T11:41:41.103 に答える
0

iOS 6以降、viewDidUnloadおよびviewWillUnloadには役割がありません。

したがって、メモリの警告を処理する必要がある場合は、didReceiveMemoryWarning

于 2013-02-19T11:43:19.087 に答える