gpt4 book ai didi

ios - main 方法和 block 中的内存泄漏

转载 作者:行者123 更新时间:2023-11-29 10:43:21 24 4
gpt4 key购买 nike

我在我的应用程序中发现了泄漏。我正在使用一个名为 SWRevealcontroller 的插件,当我使用仪器搜索泄漏时,我得到了泄漏,如屏幕截图所示。我无法解决这些泄漏。

leak in swrevealcontroller file

enter image description here

enter image description here

enter image description here enter image description here

有什么办法可以修复这些漏洞。我已按照某些教程进行操作,但无法解决这些问题。

Memory Leaks in main.m while profiling in Instruments?

http://www.raywenderlich.com/2696/instruments-tutorial-for-ios-how-to-debug-memory-leaks

  • (void)prepareForSegue: (UIStoryboardSegue *) segue sender: (id) sender {

    if ( [segue isKindOfClass: [SWRevealViewControllerSegue 类]]) {

    SWRevealViewControllerSegue *swSegue = (SWRevealViewControllerSegue*) segue;

    swSegue.performBlock = ^(SWRevealViewControllerSegue* rvc_segue, UIViewController* svc, UIViewController* dvc)

    {

        UINavigationController* navController = (UINavigationController*)self.revealViewController.frontViewController;

    [navController setViewControllers: @[dvc] animated: NO ];

    NSLog(@"abcd %@",dvc);

    NSLog(@"abcde %@",segue);
    [self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES];

    };

这是我使用那个 block 的地方。

最佳答案

使用 block 的复制作为属性而不是强,并确保您不在 block 内使用 self。如果您需要它,请创建自身的弱副本。

@property (nonatomic, copy) void(^performBlock)(...);

...
//if you need self inside of any block
id __weak weakSelf = self;
...^(){
//use weakSelf instead of self;
}

关于ios - main 方法和 block 中的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23384533/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com